QByteArray と unsigned char* の速度に違いがあることを知りたいですか? 私のプログラムには多くのバイト配列とコピー操作があるため、違いがあるかどうかを知ることは重要です。ありがとう
1 に答える
unsigned char*
バイト配列として使用されるのは、それが得るのと同じくらい簡単です。したがって、理論的にQByteArray
はそれよりも速くなることはありませんが、同じくらい速くなったり、少しだけ遅くなったりする可能性があります。ただし、(通常)単独で使用することはできませんunsigned char*
。配列の長さをどこかに保持する必要があるため、 と になりますunsigned char*
。int
これは、少なくとも私にとっては、 を使用するよりもはるかに多くの作業ですQByteArray
。QByteArray
多くのメンバー関数も含まれています。を使用するときにそれらの多くを自分で実装する必要がある場合unsigned char*
、実装が Qt の実装よりも遅くなる可能性が常にあります。そして、それには多くの作業が必要です。
もちろん、一部のアプリケーションでは、すべて同じサイズの何百万もの配列があり、すべての配列にサイズ変数は必要ありません。特に配列が短く、メモリ使用量のオーバーヘッドが大きくなる場合は、を使用unsigned char*
することをお勧めしますQByteArray
。
unsigned char*
の方が速いと言えます。ただし、アプリケーションとコーディングのスキルによっては、QByteArray
. 本当に知りたい場合は、テストアプリケーションを作成して速度を測定してください。