私は複数の関数を実行しているので、各関数は100万行の.txtファイルからセクションを取ります。各関数には、100万行のセクションの各行を実行するforループがあります。Pythonで非常に大きなファイルを読むときの速度を向上させる
これは、他の2つのファイル(1つは50,000-100,000行、もう1つは500-1000行)の情報と一致しているかどうかを確認するための情報です。他の2つのファイルでループを実行して行が一致するかどうかを確認しました。情報が一致すると、出力を新しいファイルに書き出し、すべての関数が同じファイルに書き込みます。プログラムは約2,500行を生成しますが、実行時間が長くなると処理速度が低下します。また、関数を実行すると約500分で実行されますが、他の23個のプロセスでそれを実行すると2500分しかありませんが、それはなぜですか?
誰でもなぜそれが起こるか知っていますか?とにかく、プログラムの実行/読み込みを高速化するために何かをインポートすることができました。私は既にwith "as file1:"
メソッドを使用しています。
複数のプロセスを高速に実行することはできますか?
more thread!= faster。すべてのデータがメモリに収まる場合は、コア数に応じて – Whitefret
が必要です.pandasモジュールを使用してデータを処理しようとすると、非常に高速で効率的です。最も遅い部分ディスクIOシステムを忘れないでください。スレッドの数ではなくボトルネックになります。 – MaxU
1.いくつのコアがありますか? 2.このプロセスで使用されているCPUのうち、100%に近いものがあれば、より多くのコアが役に立たなくなります。 3.スレッドは「自分の」セクションの先頭にどのように到達しますか?最初に* n *行を読まなければならない場合、これは遅くならないことに驚いています。 –