次の速度の違いを知っていますか。
- ピクルス
- 棚に置く
- sqlite
- 一部の MySQL コネクタ
- モンゴDB
- ...
多くのdictを保存したい場合、どちらが好ましい方法で、違いは何ですか?
次の速度の違いを知っていますか。
多くのdictを保存したい場合、どちらが好ましい方法で、違いは何ですか?
コメントを長引かせたくないので、お答えします。
あなたが言ったことを考えると:
サーバーも既存のコードもありません。文字列から文字列への辞書をファイルなどにローカルに保存するプログラムを書きたいだけです。それ以上の空想はありません。
非常に単純なものに対する最善の策は、おそらくJSONのようなものだと思います。
ただし、超高速にする必要がある場合は、最適なソリューションではない可能性があります (または、そうである可能性があります。比較してどのように機能するかは正直わかりません)。それは単純で、ほとんどのプラットフォーム用の実装があり、必要な多くの分野をカバーしています。可能な限り最高の速度が必要な場合は、テストすることをお勧めします。それが確実にわかる唯一の方法です。もちろん、シンプルであることは通常、速度の良い兆候です。
ここでのパフォーマンスの重要性を知るのに十分な情報が提供されていません。パフォーマンスが (おそらく)必要でない限り、必要になるまでわざわざ最適化しないでください。コード側で読みやすく保守しやすく、ファイル側で作業しやすいものを選びましょう。これが、JSON を推奨する理由です。
永続的な文字列から文字列への辞書の場合、anydbm はかなり合理的です。bsddb は anydbm から使用でき、高速ですが、中断されることに少し敏感です。gdbm は anydbm から使用でき、速度は遅くなりますが、データベースが破損する可能性は低くなります。
また、dict 全体をメモリに読み込み、多くの変更を加え、結果の dict を書き戻したい場合は、http: //stromberg.dnsalias.org/svn/dohdbm/trunk/ を使用します。バックアップ ソフトウェア プロジェクトに 1 つ。必要に応じて辞書を圧縮します。これは、I/O が特に遅い場合や、多くの変更を行う必要がある場合にパフォーマンスを向上させる可能性があります。