struct {int、int、int、int}型のエントリが10,000,000件ありました。私はQHashまたはQMapを使用してそれらを格納するとき、それは確かに、それはおよそQHash大量のデータを保存する
10,000,000 * 4 * 4 (sizeof integer) <= 153 MB
を取る必要があり、大量のメモリを占有しているが、私は私のデータをロードしたときにこれが発生し、どのように、なぜそれが、QHashとQMapの両方のために約1.2 GBになります速度とメモリの両方で最適化できますか?(他のデータ構造やqmapやqhashへのいくつかのトリックを通して)
'QHash'と' QMap'は連想型のコンテナーです:あなたの4-int構造体を推測することは保存された値です、どのようなキーのタイプですか? – wasthishelpful
@ qhash()のQtPrivate :: QHashCombineを使用してQtPrivate :: QHashCombineを格納している他の4つの整数は – abdolahS
ですが、順次配列の場合は153 MBに近くなりますが、マップには追加のデータ構造オーバーヘッドとヒープ割り当てオーバーヘッドがあります。まだそれほど多くはありません。 – dtech