タグ

ブックマーク / qiita.com/hironobu_s (1)

  • PHPでループを並列処理する - Qiita

    ループの並列実行 配列をループで処理すると、一つずつ順番に実行されます。非常にCPU時間を使う処理だったり、ネットワークアクセスなどがあり待ち時間が長い場合、一つ一つの実行に時間がかかり効率的に処理することが出来ません。 他の言語だとスレッドなどを使って並列処理をするのですが、PHPにはスレッドありません。ただ、forkが使えるので、これを使って並列処理をすることが出来ます。 以前に、別のプロジェクトでこの方法を使用したところ、大幅な処理時間削減をすることが出来ました。もう少しお手軽に使えるものがあったらよいと思い、汎用的なクラスとして実装してみました。名前はParallelForとしてみました。あと、珍しくドキュメントとかテストも書いてみました。 ちなみに.NET Frameworkには同名のメソッドがあるそうです、あとで知りました・・・。 仕組み README.mdより引用します 処理

    PHPでループを並列処理する - Qiita
    Akaza
    Akaza 2015/03/23
    あらかじめタスクを子プロセス数分割して割り振る方式。偏りは出るが簡便。
  • 1