5
私は何億ものJSONレコードを解析し、それぞれの関連コンポーネントをdict
に保存しています。問題は、私が処理しているレコードの数のために、pythonはdict
の基になるハッシュテーブルのサイズを何度か増やさなければならないということです。この結果、多くのデータを再ハッシュする必要があります。再ハッシング自体の膨大な量は、多くの時間を費やすようです。したがって、dict
の基になるハッシュテーブルに最小サイズを設定して、サイズ変更操作の回数を最小限に抑える方法があるのだろうかと思います。python dict set min_size
私はthis questionの答えから、Pythonのdict
を最適化することにthisを読んでいるが、dict
のハッシュテーブルの初期サイズを変更する方法を見つけることができません。もし誰かがこれで私を助けることができたら、私はとても感謝しています。
a = dict.fromkeys(range(n))
それは、n個のアイテムを収容するために、辞書サイズを強制します:
は、あなたがこれを行う場合は
確かに、それは私に正しいサイズを取得します。しかし、それは私に正しいキーを取得しません。私は各JSONレコードを処理するので、すべての 'n'個の多くのキーを削除し、正しいものを再投入する必要があります。それは遅くないだろうか? – inspectorG4dget
スピードに役立つはずです。そうする小さなテストを書く。すべての値がデフォルトでNoneまたは任意の値に設定されている既知のサイズの辞書を作成します –
ジャンク値を持つデータ構造を人工的に吹き飛ばしているよりも洗練されたソリューションはありませんか? :( – comiventor