なぜPythonのmmap()のパフォーマンスが低下するのだろうと思っていますか?私はNファイルを変更する小さなアプリケーションを持っていることを意味します。(あまりにも大きくない、1000と言う)最初の200は悪魔スピードですが、それ以降は遅くなり、遅くなります。私はしばらくの間メモリを解放する必要があるように見えますが、なぜPythonがこれを自動的に行わないのか、どのように、そして最も重要なのか分かりません。時間のあるPythonのmmap()パフォーマンス
助けが必要ですか?お使いのOSがRAM内mmap'dページをキャッシュ
def function(filename, N):
fd = open(filename, 'rb+')
size = os.path.getsize(filename)
mapped = mmap(fd.fileno(), size)
for i in range(N):
some_operations_on_mmaped_block()
mapped.close()
いくつかのコードを表示できますか? GCが機能していない理由が考えられます。 –
コードが追加されました。実際にはほとんどすべてですが、ループ内でステートメントがtrueの場合はファイルに対して3つの操作を行います。 – lihidle
あなたは実際にあなたのプラットフォームのために 'トップ'かタスクマネージャか何かを見ましたか? Pythonはますます多くのメモリを占有していますか? CPUは固定されていますか?それとも、あなたのハードドライブのキャッシュがいっぱいですか? – agf