タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

pythonとMultiCoreに関するEhrenのブックマーク (2)

  • Python: threadingでマルチコアCPUを有効に使う

    動画変換などのCPU時間のかかる処理を複数コアで並列処理すれば効率的だという話。例えばIntelのCore 2 Duoの場合、常に2プロセス走っていればシングルの半分の時間で済む。というわけでPythonでやってみた。 Pythonではthreading.ThreadとBoundedSemaphoreを使って制御するのが楽そうだ。プロセスの実行はsubprocess.Popenを使う。 ここでは、複数のAVI動画ファイルをmencoderを使ってMPEGファイルに変換してみる。まず、Threadクラスを継承したMyThreadクラスを作る。また、BoundedSemaphoreで同時に実行するプロセス数を指定する。とりあえずコア数と同じ2とした。そして動画ファイル分だけMyThreadのインスタンスを作り実行する。これだけ。ちなみにセマフォではwith文を使っているがPythonのバージョ

  • Python 2.6 multiprocessing package を触ってみた。 [GIL回避] | Tricorn Tech Labs

    Tricorn Tech Labs はメールや LINE を用いた Web マーケティング SaaS に強みを持つトライコーン技術者によるブログです。 oktです。 普段、並列処理のプログラムを書くことは滅多にないんですが、今後のために GIL(Global Interpreter Lock) による影響を軽く確認しておこうと思ったのと、Python2.6 で実装されたmultiprocessing パッケージに触れておこうという事でネタにしてみました。 PythonRubyでマルチスレッドな並列処理を書こうと思ったらGILの問題にぶち当たります。 最近のサーバでは2コア4コアが当たり前なのですが、GILの問題があると複数のCPUを有効利用できません。それを以下の言語とサンプルコードを使って状況確認します。 サンプルコードは、0から100,000,000までインクリメントするスレッドを4

    Python 2.6 multiprocessing package を触ってみた。 [GIL回避] | Tricorn Tech Labs
  • 1