0

QByteArray と unsigned char* の速度に違いがあることを知りたいですか? 私のプログラムには多くのバイト配列とコピー操作があるため、違いがあるかどうかを知ることは重要です。ありがとう

4

1 に答える 1

2

unsigned char*バイト配列として使用されるのは、それが得るのと同じくらい簡単です。したがって、理論的にQByteArrayはそれよりも速くなることはありませんが、同じくらい速くなったり、少しだけ遅くなったりする可能性があります。ただし、(通常)単独で使用することはできませんunsigned char*。配列の長さをどこかに保持する必要があるため、 と になりますunsigned char*intこれは、少なくとも私にとっては、 を使用するよりもはるかに多くの作業ですQByteArrayQByteArray多くのメンバー関数も含まれています。を使用するときにそれらの多くを自分で実装する必要がある場合unsigned char*、実装が Qt の実装よりも遅くなる可能性が常にあります。そして、それには多くの作業が必要です。

もちろん、一部のアプリケーションでは、すべて同じサイズの何百万もの配列があり、すべての配列にサイズ変数は必要ありません。特に配列が短く、メモリ使用量のオーバーヘッドが大きくなる場合は、を使用unsigned char*することをお勧めしますQByteArray

unsigned char*の方が速いと言えます。ただし、アプリケーションとコーディングのスキルによっては、QByteArray. 本当に知りたい場合は、テストアプリケーションを作成して速度を測定してください。

于 2013-07-21T11:41:00.393 に答える