GIL は、個別の端末ウィンドウでの Python スクリプトの並列処理に影響しますか?

アビナッシュ・シェノイ

PythonのGILを理解しようとしています。私は最近、複数の入力ファイルで異なる時間計算量の異なるアルゴリズムを使用して実行された特定のタスクの実行時間を比較しなければならないという課題を抱えていました。私は同じことをするために python スクリプトを実行しましたが、macOS で別々のターミナル ウィンドウを使用して、異なる入力ファイルに対して同じ python スクリプトを実行しました。

また、入力ファイルごとに 1 つの端末ウィンドウですべてを順番に実行しました。このためのCPU時間は、各プログラムが2倍の時間がかかったが、一度に実行された複数のウィンドウを使用した以前のアプローチと比較して、実行ごとに短くなりました。(注: 前のアプローチには 4 つのターミナル ウィンドウがあり、Python スクリプトは macOS で clang でコンパイルされた a.out 実行可能ファイルのみを実行し、出力を異なるファイルに保存しました)。

それらを並行して実行すると、各プログラムが遅くなる理由を説明できる人はいますか? それらは別々のコアで実行されたのでしょうか、それとも GIL によって各プログラムは、1 つの端末ウィンドウで一度に 1 つずつ実行した場合よりも遅くなりましたか?

cco

各ターミナル ウィンドウは、それぞれ独自の GIL を持つ新しい Python インタープリターを開始します。この違いは、おそらく OS レベルのリソース (ディスク i/o、メモリ、CPU サイクル) の競合によるものです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Python、VTK、GILのリリース

分類Dev

Python dictのlen()はGILに関してアトミックですか?

分類Dev

Python I / OバウンドタスクがGILによってブロックされないのはなぜですか?

分類Dev

Python3.7マルチスレッドでのGILの動作

分類Dev

Numbaを使用してPythonでスレッドのGILを解放する方法は?

分類Dev

コードの2つのセクション(Python GILについて)の違いは何ですか?

分類Dev

PythonキューはGILを使用しますか?

分類Dev

tensorflow sess.run()は本当にPythonのGIL(グローバルインタープリタールック)をリリースできますか?

分類Dev

GILのため、マルチスレッドのPythonコードではロックは不要ですか?

分類Dev

PythonのGILは、機能的に分離されたc ++ライブラリでの並列実行を防ぎますか?

分類Dev

PythonのGILは、機能的に分離されたc ++ライブラリでの並列実行を防ぎますか?

分類Dev

同じ端末でウィンドウを閉じずにPythonを介してCMDで複数のタスクを実行する方法

分類Dev

別の cmd のウィンドウでの Python 再起動スクリプト

分類Dev

Pythonスクリプトに加えられた変更は、同じファイルで進行中の別の実行に影響しますか?

分類Dev

Rでの並列処理、Pythonスクリプトの呼び出し

分類Dev

Pythonスクリプトの並列処理

分類Dev

ルビーGILはそれが開始するプロセスに影響を与えますか?

分類Dev

ロックと Python GIL を使用したプリエンプティブ マルチタスクを理解していますか?

分類Dev

GILがDLL内でネイティブC ++コードを実行しているPythonスレッドを同期しないのはなぜですか?

分類Dev

GILなしでCythonで並列化

分類Dev

GILのプロファイリング

分類Dev

コールバックとしてCからpython関数を呼び出す。GILを処理する正しい方法は何ですか?

分類Dev

Mac端末の別のタブ/ウィンドウでコマンドを実行する方法

分類Dev

Pythonスクリプトは、実行中に何らかの形で新しいコンソールウィンドウを作成できますか?

分類Dev

Cythonエラー:Pythonからの強制はGILなしでは許可されていません

分類Dev

Pythonからの強制はGILなしでは許可されていません

分類Dev

Python- tkinter:別のウィンドウで別の画像を開く?

分類Dev

pycurl multiよりもaiohttp、pythonにはgilがあるので、aiohttpに切り替えるとどのようなメリットがありますか?

分類Dev

Pythonインタープリターはオブジェクトの負の参照カウントをどのように処理しますか?

Related 関連記事

  1. 1

    Python、VTK、GILのリリース

  2. 2

    Python dictのlen()はGILに関してアトミックですか?

  3. 3

    Python I / OバウンドタスクがGILによってブロックされないのはなぜですか?

  4. 4

    Python3.7マルチスレッドでのGILの動作

  5. 5

    Numbaを使用してPythonでスレッドのGILを解放する方法は?

  6. 6

    コードの2つのセクション(Python GILについて)の違いは何ですか?

  7. 7

    PythonキューはGILを使用しますか?

  8. 8

    tensorflow sess.run()は本当にPythonのGIL(グローバルインタープリタールック)をリリースできますか?

  9. 9

    GILのため、マルチスレッドのPythonコードではロックは不要ですか?

  10. 10

    PythonのGILは、機能的に分離されたc ++ライブラリでの並列実行を防ぎますか?

  11. 11

    PythonのGILは、機能的に分離されたc ++ライブラリでの並列実行を防ぎますか?

  12. 12

    同じ端末でウィンドウを閉じずにPythonを介してCMDで複数のタスクを実行する方法

  13. 13

    別の cmd のウィンドウでの Python 再起動スクリプト

  14. 14

    Pythonスクリプトに加えられた変更は、同じファイルで進行中の別の実行に影響しますか?

  15. 15

    Rでの並列処理、Pythonスクリプトの呼び出し

  16. 16

    Pythonスクリプトの並列処理

  17. 17

    ルビーGILはそれが開始するプロセスに影響を与えますか?

  18. 18

    ロックと Python GIL を使用したプリエンプティブ マルチタスクを理解していますか?

  19. 19

    GILがDLL内でネイティブC ++コードを実行しているPythonスレッドを同期しないのはなぜですか?

  20. 20

    GILなしでCythonで並列化

  21. 21

    GILのプロファイリング

  22. 22

    コールバックとしてCからpython関数を呼び出す。GILを処理する正しい方法は何ですか?

  23. 23

    Mac端末の別のタブ/ウィンドウでコマンドを実行する方法

  24. 24

    Pythonスクリプトは、実行中に何らかの形で新しいコンソールウィンドウを作成できますか?

  25. 25

    Cythonエラー:Pythonからの強制はGILなしでは許可されていません

  26. 26

    Pythonからの強制はGILなしでは許可されていません

  27. 27

    Python- tkinter:別のウィンドウで別の画像を開く?

  28. 28

    pycurl multiよりもaiohttp、pythonにはgilがあるので、aiohttpに切り替えるとどのようなメリットがありますか?

  29. 29

    Pythonインタープリターはオブジェクトの負の参照カウントをどのように処理しますか?

ホットタグ

アーカイブ