Suche senden
Hochladen
PHPで並列処理する ライブラリを作った
•
Als PPTX, PDF herunterladen
•
2 gefällt mir
•
9,319 views
Hironobu Saitoh
Folgen
【2015/01/26】第86回 PHP勉強会で発表したスライドです。
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 24
Jetzt herunterladen
Empfohlen
PHPでマルチスレッド
PHPでマルチスレッド
karky7
メタプログラミングって何だろう
メタプログラミングって何だろう
Kota Mizushima
がんばれ PHP Fiber
がんばれ PHP Fiber
infinite_loop
PHP AST 徹底解説
PHP AST 徹底解説
do_aki
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
shinjiigarashi
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン
yohhoy
initramfsについて
initramfsについて
Kazuhiro Nishiyama
JIT のコードを読んでみた
JIT のコードを読んでみた
y-uti
Empfohlen
PHPでマルチスレッド
PHPでマルチスレッド
karky7
メタプログラミングって何だろう
メタプログラミングって何だろう
Kota Mizushima
がんばれ PHP Fiber
がんばれ PHP Fiber
infinite_loop
PHP AST 徹底解説
PHP AST 徹底解説
do_aki
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
shinjiigarashi
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン
yohhoy
initramfsについて
initramfsについて
Kazuhiro Nishiyama
JIT のコードを読んでみた
JIT のコードを読んでみた
y-uti
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
慎一 古賀
塹壕よりLivetとMVVM
塹壕よりLivetとMVVM
Hiroshi Maekawa
OPcache の最適化器の今
OPcache の最適化器の今
y-uti
例外設計における大罪
例外設計における大罪
Takuto Wada
バージョン管理のワークフロー
バージョン管理のワークフロー
add20
C#とILとネイティブと
C#とILとネイティブと
信之 岩永
Glibc malloc internal
Glibc malloc internal
Motohiro KOSAKI
こわくない Git
こわくない Git
Kota Saito
TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?
Mr. Vengineer
PHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったこと
gree_tech
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
GNU AGPLv3について(On GNU AGPLv3)
GNU AGPLv3について(On GNU AGPLv3)
真行 八田
入門 シェル実装
入門 シェル実装
Yusuke Sangenya
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013
DQNEO
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
SATySFi 最近の発展と目下実装中の変更
SATySFi 最近の発展と目下実装中の変更
T. Suwa
今風なデスクトップアプリのモダンインストーラー開発
今風なデスクトップアプリのモダンインストーラー開発
Kaoru Nakajima
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。
Yuya Yamaki
レシピの作り方入門
レシピの作り方入門
Nobuhiro Iwamatsu
オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
CakePHP を使ってよかったこと
CakePHP を使ってよかったこと
Wataru Terada
はじめてLaravelさわった 第86回php勉強会
はじめてLaravelさわった 第86回php勉強会
Osamu Kawasaki
Weitere ähnliche Inhalte
Was ist angesagt?
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
慎一 古賀
塹壕よりLivetとMVVM
塹壕よりLivetとMVVM
Hiroshi Maekawa
OPcache の最適化器の今
OPcache の最適化器の今
y-uti
例外設計における大罪
例外設計における大罪
Takuto Wada
バージョン管理のワークフロー
バージョン管理のワークフロー
add20
C#とILとネイティブと
C#とILとネイティブと
信之 岩永
Glibc malloc internal
Glibc malloc internal
Motohiro KOSAKI
こわくない Git
こわくない Git
Kota Saito
TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?
Mr. Vengineer
PHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったこと
gree_tech
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
GNU AGPLv3について(On GNU AGPLv3)
GNU AGPLv3について(On GNU AGPLv3)
真行 八田
入門 シェル実装
入門 シェル実装
Yusuke Sangenya
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013
DQNEO
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
SATySFi 最近の発展と目下実装中の変更
SATySFi 最近の発展と目下実装中の変更
T. Suwa
今風なデスクトップアプリのモダンインストーラー開発
今風なデスクトップアプリのモダンインストーラー開発
Kaoru Nakajima
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。
Yuya Yamaki
レシピの作り方入門
レシピの作り方入門
Nobuhiro Iwamatsu
オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
Was ist angesagt?
(20)
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
塹壕よりLivetとMVVM
塹壕よりLivetとMVVM
OPcache の最適化器の今
OPcache の最適化器の今
例外設計における大罪
例外設計における大罪
バージョン管理のワークフロー
バージョン管理のワークフロー
C#とILとネイティブと
C#とILとネイティブと
Glibc malloc internal
Glibc malloc internal
こわくない Git
こわくない Git
TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?
PHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったこと
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
GNU AGPLv3について(On GNU AGPLv3)
GNU AGPLv3について(On GNU AGPLv3)
入門 シェル実装
入門 シェル実装
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
SATySFi 最近の発展と目下実装中の変更
SATySFi 最近の発展と目下実装中の変更
今風なデスクトップアプリのモダンインストーラー開発
今風なデスクトップアプリのモダンインストーラー開発
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。
レシピの作り方入門
レシピの作り方入門
オブジェクト指向できていますか?
オブジェクト指向できていますか?
Andere mochten auch
CakePHP を使ってよかったこと
CakePHP を使ってよかったこと
Wataru Terada
はじめてLaravelさわった 第86回php勉強会
はじめてLaravelさわった 第86回php勉強会
Osamu Kawasaki
php開発で使うタスクランナー gulp
php開発で使うタスクランナー gulp
Yuuki Takezawa
Hack tutorial
Hack tutorial
Wakana Yoshizawa
入門!Software Defined Network
入門!Software Defined Network
Etsuji Nakai
Okinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - Ansible
Hideki Saito
最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm
晃 遠山
Your first dive into systemd!
Your first dive into systemd!
Etsuji Nakai
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
Etsuji Nakai
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
Etsuji Nakai
キレイなコードの書き方
キレイなコードの書き方
Takuya Kitamura
Mac OS X のパッケージ管理紹介/比較
Mac OS X のパッケージ管理紹介/比較
Tomohiko Himura
HTTP/2の現状とこれから
HTTP/2の現状とこれから
shigeki_ohtsu
PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由
Yuji Otani
Python 機械学習プログラミング データ分析演習編
Python 機械学習プログラミング データ分析演習編
Etsuji Nakai
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのか
Yoshifumi Kawai
Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Etsuji Nakai
Android lint-srp-practice
Android lint-srp-practice
cch-robo
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
What is tested by pre-launch (security) reports?
What is tested by pre-launch (security) reports?
ak_shio_555
Andere mochten auch
(20)
CakePHP を使ってよかったこと
CakePHP を使ってよかったこと
はじめてLaravelさわった 第86回php勉強会
はじめてLaravelさわった 第86回php勉強会
php開発で使うタスクランナー gulp
php開発で使うタスクランナー gulp
Hack tutorial
Hack tutorial
入門!Software Defined Network
入門!Software Defined Network
Okinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - Ansible
最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm
Your first dive into systemd!
Your first dive into systemd!
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
キレイなコードの書き方
キレイなコードの書き方
Mac OS X のパッケージ管理紹介/比較
Mac OS X のパッケージ管理紹介/比較
HTTP/2の現状とこれから
HTTP/2の現状とこれから
PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由
Python 機械学習プログラミング データ分析演習編
Python 機械学習プログラミング データ分析演習編
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのか
Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Android lint-srp-practice
Android lint-srp-practice
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
What is tested by pre-launch (security) reports?
What is tested by pre-launch (security) reports?
Ähnlich wie PHPで並列処理する ライブラリを作った
PHPカンファレンス2014の懇親会飛び込みLT資料
PHPカンファレンス2014の懇親会飛び込みLT資料
Junichi Ishida
8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室
Yusuke Ando
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
Junichi Ishida
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
Ryuji Yamashita
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
sasezaki
Xhprof
Xhprof
Hisashi Aruji
composer-scriptsについて
composer-scriptsについて
Hiraku Nakano
Heroku で作る スケーラブルな PHP アプリケーション
Heroku で作る スケーラブルな PHP アプリケーション
Masashi Shinbara
Php非同期の技法
Php非同期の技法
Shogo Kawahara
Fn project爆誕
Fn project爆誕
Hiroshi Hayakawa
PHPの今とこれから2015
PHPの今とこれから2015
Rui Hirokawa
WordPress中級者への道!テンプレートタグはどう動くのか!?
WordPress中級者への道!テンプレートタグはどう動くのか!?
Shinichi Nishikawa
フレームワークを使うべき 3 つの理由
フレームワークを使うべき 3 つの理由
Kenichi Mukai
FukuokaPHP 3
FukuokaPHP 3
ichikaway
ChefユーザのためのAnsible入門
ChefユーザのためのAnsible入門
Mahito Ogura
PHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptx
Hideo Kashioka
PHPデプロイツールの世界
PHPデプロイツールの世界
Yuuki Takezawa
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
Hironori Sekine
誰でも出来るosxでのローカルなウェブ開発環境構築
誰でも出来るosxでのローカルなウェブ開発環境構築
Hiroshi Yamato
Modulemaking
Modulemaking
Hikawa Kilica
Ähnlich wie PHPで並列処理する ライブラリを作った
(20)
PHPカンファレンス2014の懇親会飛び込みLT資料
PHPカンファレンス2014の懇親会飛び込みLT資料
8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
Xhprof
Xhprof
composer-scriptsについて
composer-scriptsについて
Heroku で作る スケーラブルな PHP アプリケーション
Heroku で作る スケーラブルな PHP アプリケーション
Php非同期の技法
Php非同期の技法
Fn project爆誕
Fn project爆誕
PHPの今とこれから2015
PHPの今とこれから2015
WordPress中級者への道!テンプレートタグはどう動くのか!?
WordPress中級者への道!テンプレートタグはどう動くのか!?
フレームワークを使うべき 3 つの理由
フレームワークを使うべき 3 つの理由
FukuokaPHP 3
FukuokaPHP 3
ChefユーザのためのAnsible入門
ChefユーザのためのAnsible入門
PHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptx
PHPデプロイツールの世界
PHPデプロイツールの世界
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
誰でも出来るosxでのローカルなウェブ開発環境構築
誰でも出来るosxでのローカルなウェブ開発環境構築
Modulemaking
Modulemaking
Mehr von Hironobu Saitoh
パブリッククラウドConoHaを使ってOpenStack APIを理解する
パブリッククラウドConoHaを使ってOpenStack APIを理解する
Hironobu Saitoh
出張このべん in 大阪
出張このべん in 大阪
Hironobu Saitoh
このべん第5回 ConoHaでWordPressのお勉強!
このべん第5回 ConoHaでWordPressのお勉強!
Hironobu Saitoh
ConoHaにおける オブジェクトストレージの 利用動向
ConoHaにおける オブジェクトストレージの 利用動向
Hironobu Saitoh
ConoHa VPSの コマンドラインツールを作った
ConoHa VPSの コマンドラインツールを作った
Hironobu Saitoh
フロントエンドの人にも知ってもらいたいサーバーの話
フロントエンドの人にも知ってもらいたいサーバーの話
Hironobu Saitoh
クラウドのようなVPS 「ConoHa」 を使ってみよう +おまけ
クラウドのようなVPS 「ConoHa」 を使ってみよう +おまけ
Hironobu Saitoh
クラウドのようなVPS 「ConoHa」 を使ってみよう。
クラウドのようなVPS 「ConoHa」 を使ってみよう。
Hironobu Saitoh
OpenSSHの認証に証明書を使う
OpenSSHの認証に証明書を使う
Hironobu Saitoh
Unityのバックエンドに ConoHaオブジェクトストレージ を使う
Unityのバックエンドに ConoHaオブジェクトストレージ を使う
Hironobu Saitoh
オブジェクトストレージを使ってイメージビューアを作ってみる
オブジェクトストレージを使ってイメージビューアを作ってみる
Hironobu Saitoh
Conoha VPSについて
Conoha VPSについて
Hironobu Saitoh
20140903groonga発表資料
20140903groonga発表資料
Hironobu Saitoh
レガシーPHPアプリ(10年もの)を運用している話
レガシーPHPアプリ(10年もの)を運用している話
Hironobu Saitoh
Mehr von Hironobu Saitoh
(14)
パブリッククラウドConoHaを使ってOpenStack APIを理解する
パブリッククラウドConoHaを使ってOpenStack APIを理解する
出張このべん in 大阪
出張このべん in 大阪
このべん第5回 ConoHaでWordPressのお勉強!
このべん第5回 ConoHaでWordPressのお勉強!
ConoHaにおける オブジェクトストレージの 利用動向
ConoHaにおける オブジェクトストレージの 利用動向
ConoHa VPSの コマンドラインツールを作った
ConoHa VPSの コマンドラインツールを作った
フロントエンドの人にも知ってもらいたいサーバーの話
フロントエンドの人にも知ってもらいたいサーバーの話
クラウドのようなVPS 「ConoHa」 を使ってみよう +おまけ
クラウドのようなVPS 「ConoHa」 を使ってみよう +おまけ
クラウドのようなVPS 「ConoHa」 を使ってみよう。
クラウドのようなVPS 「ConoHa」 を使ってみよう。
OpenSSHの認証に証明書を使う
OpenSSHの認証に証明書を使う
Unityのバックエンドに ConoHaオブジェクトストレージ を使う
Unityのバックエンドに ConoHaオブジェクトストレージ を使う
オブジェクトストレージを使ってイメージビューアを作ってみる
オブジェクトストレージを使ってイメージビューアを作ってみる
Conoha VPSについて
Conoha VPSについて
20140903groonga発表資料
20140903groonga発表資料
レガシーPHPアプリ(10年もの)を運用している話
レガシーPHPアプリ(10年もの)を運用している話
Kürzlich hochgeladen
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Kürzlich hochgeladen
(11)
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
PHPで並列処理する ライブラリを作った
1.
PHPで並列処理する ライブラリを作った ひろのぶ(@hironobu_s) 【2015/01/26】第86回 PHP勉強会
2.
自己紹介 • ひろのぶ(@hironobu_s) • GMOインターネット株式会社 テクニカルエバンジェリスト •
自社サービスの企画、開発、インフラ運用をしてました • 現在はConoHa (https://www.conoha.jp)を担当
3.
ConoHa https://www.conoha.jp/conoha/
4.
PHPで並列処理
5.
いろいろある • バックグラウンドで実行する (php -f
background.php 2>&1 /dev/null & のような) • curl_multi系の関数を使う • fork()する • スレッドを使う(pthreadsとか)
6.
いろいろある • バックグラウンドで実行する (php -f
background.php 2>&1 /dev/null & のような) • curl_multi系の関数を使う • fork()する • スレッドを使う(pthreadsとか) ←今回はこれを使う
7.
pcntl - プロセス制御関数
8.
プロセス制御関数 • pcntl_で始まる関数群 • Unix形式のプロセスを扱 える •
Windows不可
9.
親プロセスと子プロセス • プロセスとはプログラムの実行単位(phpコマンドなど) • プロセスは自分自身の複製を作れる •
作った側「親プロセス」、作られた側「子プロセス」 • PHPではpcntl_fork()を使う
10.
ParallelFor • 拙作のライブラリです • 配列の対するループ処理を並列化できる •
https://github.com/hironobu-s/parallel-for
11.
例 <?php $data = []; for($i
= 0; $i < 50; $i++) { $data[] = "data $i"; } $result = []; foreach($data as $data) { usleep(100000); // 100msのウエイト $result[] = $data . " processed."; } var_dump($result);
12.
ちょうど5秒かかった
13.
ParallelFor を使う<?php require_once 'parallel-for/src/ParallelFor.php'; //
処理内容 $exec = function($datas) { $result = []; foreach($datas as $data) { usleep(100000); // 100msのウエイト $result[] = $data . " processed."; } return $result; }; // テストデータの準備 $data = []; for($i = 0; $i < 10; $i++) { $data[] = "data $i"; } // 実行 $p = new ParallelFor(); $p->setNumChilds(8); $data = $p->run($data, $exec);
14.
0.78秒で終わった
15.
\ はやい/
16.
何が起きてるの? • 配列の要素数が50、一つ処理するのに100msというプロ グラム • 一つずつ処理すると
100ms * 50 = 5,000ms = 5sec • ParallelForは並列処理する(今回は並列数8で実行) • 5000ms / 8 = 625ms だけど今回は782msだった
17.
図で見てみる (イメージです。実際はちょっと違います)
18.
19.
array_slice()
20.
21.
22.
23.
制約 • Windowsでは動かない(pcntlが使えない) • mod_phpでは動かない(同上) •
リソース型を扱えない(Segfaultする)
24.
おわり • Github https://github.com/hironobu-s/parallel-for • Qiita http://qiita.com/hironobu_s/items/b72cb9d876e467c59697 ご清聴ありがとうございました
Jetzt herunterladen