私はディスク上の多くのファイルを読む必要がある、第一のオプションは、マルチスレッドを使用して、それはSSDで非常に良いパフォーマンスを発揮します。 (IOでブロックされたスレッドがGILを解放するとき)pythonマルチスレッドは、読み取り専用メモリバッファバイパスを読み取るGIL
しかしSSDなしで同様の速度を達成したいので、それらをメモリにプリロードして、すべてのスレッドが各ファイルを読み込みますメモリからのコンテンツ。残念ながら、おそらくGILのために、dictにロックがあるので、その速度はSSDからファイルをロードするよりもさらに遅くなります!
私の質問は、ロック/ GILなしで読み取り専用メモリバッファを作成できるソリューションがあるということですか? RAMディスクのようなもの>
本当にできるだけ多くのスピードが必要な場合は、CやC++や完全にコンパイルされた他の言語でプログラム(またはそれ以上スピードクリティカルな部分)を書き直すのはどうですか?その後、ネイティブの実行可能ファイルを実行しているので、GILを持たず、インタプリタのオーバーヘッドもまったくありません。 –