タグ

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

タグの絞り込みを解除

multiprocessingに関するodawaraのブックマーク (6)

  • multiprocessing — Process-based parallelism

    Availability: not Android, not iOS, not WASI. This module is not supported on mobile platforms or WebAssembly platforms. Introduction¶ multiprocessing is a package that supports spawning processes using an API similar to the threading module. The multiprocessing package offers both local and remote concurrency, effectively side-stepping the Global Interpreter Lock by using subprocesses instead of

    multiprocessing — Process-based parallelism
    odawara
    odawara 2011/04/04
    まぁ結局役に立ったのはリファレンスだったというオチなんですがね…
  • Pythonでクラス内の関数を並列演算させる - 技術の切れはし

    オブジェクト指向プログラミング+multiprocessing.Poolでの並列処理でハマりました。 クラスの中でPoolライクな文法で並列演算を行なうことのできるMyPoolを自作したのでその紹介です。 Pythonでの並列処理について Pythonにはver2.6以降からmultiprocessingという便利なものがあります。 これのPoolという機能を使うと、 test.py # -*- coding: utf-8 -*- from multiprocessing import Pool def fuga(x): # 並列実行したい関数 return x*x def hoge(): p = Pool(8) # 8スレッドで実行 print p.map(fuga, range(10)) # fugaに0,1,..のそれぞれを与えて並列演算 if __name__ == "__main

    Pythonでクラス内の関数を並列演算させる - 技術の切れはし
  • 2.6に新搭載のmultiprocessingを見て俺のPythonがおっきした件 | TRIVIAL TECHNOLOGIES 4

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー いやー,multiprocessingモジュールイイよ。パねえよ。要はプロセス間通信を行うときに便利なパッケージで,threadingと似たようなAPIなのでGILが回避できてマルチプロセッサとかマルチコアの性能を有効に使えてウハウハとか,リモートマシンにあるプロセスと通信したりオブジェクトをやりとりしたりできてウハウハとか,まあそういうモノです。これでおっきしない奴は技術者として大切な資質を失っていると思うよ。べつにおっきしなくてもいいんだけど,そういう奴とは一緒に仕事したくないよ。 ドキュメントのイントロダクションを超訳してみたです。 はじめに multiprocessingはth

  • 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
  • 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のバージョ

  • スレッド

    スレッド スレッドを使うと1つのプログラム(プロセス)内で、複数の動作を同時に行うことができます。Pythonにはthreadモジュールとthreadingモジュールが用意されていて、これらのモジュールを使用することにより、スレッドを利用できます。 threadモジュールは低レベルのスレッド処理が必要なとき使用します。threadingモジュールは高レベルなスレッド処理に利用します。 threadモジュール threadモジュールのstart_new_thread関数を使うと、指定した関数をスレッドとして実行できます。この関数はビルトイン関数applyと同じ使い方をします。最初の引数は関数名で、2番目に引数(tuple)を指定します。オプションとして3番目の引数も指定できます。これはキーワードで引数を指定するものです。 サンプル # Thread test import thread n

  • 1