0

次の問題に直面しました。コンピューター (番号 2) でのスクリプトの実行時間は、別のコンピューター (コンピューター 1) よりも大幅に長くなります。

  • コンピューター 1 - i3 - 4170 CPU @ 3.7 GHz (4 コア)、4GB RAM (実行時間 9.5 分)
  • コンピューター 2 - i7 - 3.07GHz (8 コア)、8GB RAM (実行時間 15 ~ 17 分)

Python を使用して Excel ファイルを処理します。次の 3 つのライブラリをインポートします。

  • xlrdxlsxwriterwin32com

実行時間が異なるのはなぜですか?どうすれば修正できますか?

4

2 に答える 2

1

シングル コアで実行され、computer1 のクロック レートが高い = シングル スレッド処理が高速になります。

于 2016-08-03T07:35:15.740 に答える
0

コメントで説明されているように、Python はGlobal Interpreter Lock (GIL)を使用します。Wiki で述べ​​られているように、「GIL を使用するインタープリターは、マルチコア プロセッサで実行されている場合でも、一度に実行できるスレッドは常に 1 つだけです」。

i3 プロセッサは、i7 の 8 コアではなく 4 コアしか持たない場合がありますが、Python は一度に 1 つのスレッドしか使用しません。したがって、コアが高速であるほど、スクリプトの実行が高速になります。このページで説明されているように、 「CPU の速度によって、1 秒間に実行できる計算の数が決まります。速度が高いほど、実行できる計算の数が多くなり、コンピューターが高速になります。」

于 2016-08-03T07:57:08.123 に答える