Soumettre la recherche
Mettre en ligne
Introducing hhvm hack-async
•
1 j'aime
•
921 vues
K
Kenjiro Kubota
Suivre
phpcon 2017 懇親会LT
Lire moins
Lire la suite
Logiciels
Signaler
Partager
Signaler
Partager
1 sur 24
Recommandé
PHPべんちまーく
PHPべんちまーく
chichi1091
コードを書いて理解する!Enumについて
コードを書いて理解する!Enumについて
Takhisa Hirokawa
Php beginnerが beginner + になるための話
Php beginnerが beginner + になるための話
yuichi kishimoto
DevEnv Tryit.vim Phrase.vim
DevEnv Tryit.vim Phrase.vim
t9md
第1回SE勉強会(080302)
第1回SE勉強会(080302)
柴田 篤志
NCC C++入門講座
NCC C++入門講座
KuyuriIroha
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
Yoshio Hanawa
PHP-MLを使用して気軽に機械学習にトライしてみる
PHP-MLを使用して気軽に機械学習にトライしてみる
Ryo Shibayama
Recommandé
PHPべんちまーく
PHPべんちまーく
chichi1091
コードを書いて理解する!Enumについて
コードを書いて理解する!Enumについて
Takhisa Hirokawa
Php beginnerが beginner + になるための話
Php beginnerが beginner + になるための話
yuichi kishimoto
DevEnv Tryit.vim Phrase.vim
DevEnv Tryit.vim Phrase.vim
t9md
第1回SE勉強会(080302)
第1回SE勉強会(080302)
柴田 篤志
NCC C++入門講座
NCC C++入門講座
KuyuriIroha
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
Yoshio Hanawa
PHP-MLを使用して気軽に機械学習にトライしてみる
PHP-MLを使用して気軽に機械学習にトライしてみる
Ryo Shibayama
Testing PHP extension on Travis CI
Testing PHP extension on Travis CI
Yoshio Hanawa
Awesome PHP extensions! Top 50!
Awesome PHP extensions! Top 50!
sasezaki
ac-mozc (kansai-emacs #x09)
ac-mozc (kansai-emacs #x09)
igjit
Visual Studio で TeX 編集
Visual Studio で TeX 編集
Satoshi Mimura
ニワン語・ニコ割装飾によるボカロPVの可能性
ニワン語・ニコ割装飾によるボカロPVの可能性
Negi Mochi
モジュール開発におけるぼくの試行錯誤
モジュール開発におけるぼくの試行錯誤
karupanerura
Phpstormちょっといい話
Phpstormちょっといい話
Hisateru Tanaka
Fuel php をもっと composer で使う
Fuel php をもっと composer で使う
Taichi Inaba
PHP-ML で手書き数字認識
PHP-ML で手書き数字認識
y-uti
ac-mozc (kantou-emacs #x01)
ac-mozc (kantou-emacs #x01)
igjit
neobundle.vimについて+おまけ
neobundle.vimについて+おまけ
Shougo
Word pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのか
Hisateru Tanaka
ac-mozc
ac-mozc
igjit
すごいVimでhaskellを書こう@なごやまつり
すごいVimでhaskellを書こう@なごやまつり
cohama
Goでこれどうやるの? 入門
Goでこれどうやるの? 入門
zaru sakuraba
Vim の開発環境
Vim の開発環境
eagletmt
実用Brainf*ckプログラミング入門編
実用Brainf*ckプログラミング入門編
京大 マイコンクラブ
modern X86 environment
modern X86 environment
Shougo
Shell で制限付き並列処理をしよう
Shell で制限付き並列処理をしよう
博文 斉藤
第二回 クラウドサーバー管理者若葉の会
第二回 クラウドサーバー管理者若葉の会
masayoshi shiraishi
HackのAsyncCurlで死んだ話
HackのAsyncCurlで死んだ話
Kenjiro Kubota
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
Hisateru Tanaka
Contenu connexe
Tendances
Testing PHP extension on Travis CI
Testing PHP extension on Travis CI
Yoshio Hanawa
Awesome PHP extensions! Top 50!
Awesome PHP extensions! Top 50!
sasezaki
ac-mozc (kansai-emacs #x09)
ac-mozc (kansai-emacs #x09)
igjit
Visual Studio で TeX 編集
Visual Studio で TeX 編集
Satoshi Mimura
ニワン語・ニコ割装飾によるボカロPVの可能性
ニワン語・ニコ割装飾によるボカロPVの可能性
Negi Mochi
モジュール開発におけるぼくの試行錯誤
モジュール開発におけるぼくの試行錯誤
karupanerura
Phpstormちょっといい話
Phpstormちょっといい話
Hisateru Tanaka
Fuel php をもっと composer で使う
Fuel php をもっと composer で使う
Taichi Inaba
PHP-ML で手書き数字認識
PHP-ML で手書き数字認識
y-uti
ac-mozc (kantou-emacs #x01)
ac-mozc (kantou-emacs #x01)
igjit
neobundle.vimについて+おまけ
neobundle.vimについて+おまけ
Shougo
Word pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのか
Hisateru Tanaka
ac-mozc
ac-mozc
igjit
すごいVimでhaskellを書こう@なごやまつり
すごいVimでhaskellを書こう@なごやまつり
cohama
Goでこれどうやるの? 入門
Goでこれどうやるの? 入門
zaru sakuraba
Vim の開発環境
Vim の開発環境
eagletmt
実用Brainf*ckプログラミング入門編
実用Brainf*ckプログラミング入門編
京大 マイコンクラブ
modern X86 environment
modern X86 environment
Shougo
Shell で制限付き並列処理をしよう
Shell で制限付き並列処理をしよう
博文 斉藤
第二回 クラウドサーバー管理者若葉の会
第二回 クラウドサーバー管理者若葉の会
masayoshi shiraishi
Tendances
(20)
Testing PHP extension on Travis CI
Testing PHP extension on Travis CI
Awesome PHP extensions! Top 50!
Awesome PHP extensions! Top 50!
ac-mozc (kansai-emacs #x09)
ac-mozc (kansai-emacs #x09)
Visual Studio で TeX 編集
Visual Studio で TeX 編集
ニワン語・ニコ割装飾によるボカロPVの可能性
ニワン語・ニコ割装飾によるボカロPVの可能性
モジュール開発におけるぼくの試行錯誤
モジュール開発におけるぼくの試行錯誤
Phpstormちょっといい話
Phpstormちょっといい話
Fuel php をもっと composer で使う
Fuel php をもっと composer で使う
PHP-ML で手書き数字認識
PHP-ML で手書き数字認識
ac-mozc (kantou-emacs #x01)
ac-mozc (kantou-emacs #x01)
neobundle.vimについて+おまけ
neobundle.vimについて+おまけ
Word pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのか
ac-mozc
ac-mozc
すごいVimでhaskellを書こう@なごやまつり
すごいVimでhaskellを書こう@なごやまつり
Goでこれどうやるの? 入門
Goでこれどうやるの? 入門
Vim の開発環境
Vim の開発環境
実用Brainf*ckプログラミング入門編
実用Brainf*ckプログラミング入門編
modern X86 environment
modern X86 environment
Shell で制限付き並列処理をしよう
Shell で制限付き並列処理をしよう
第二回 クラウドサーバー管理者若葉の会
第二回 クラウドサーバー管理者若葉の会
Similaire à Introducing hhvm hack-async
HackのAsyncCurlで死んだ話
HackのAsyncCurlで死んだ話
Kenjiro Kubota
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
Hisateru Tanaka
PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。
Yuji Otani
Xhprof
Xhprof
Hisashi Aruji
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
sasezaki
FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例
Yuji Otani
HHVM/Hackを本番投入した話
HHVM/Hackを本番投入した話
Kenjiro Kubota
WordPress on HHVM + Hack
WordPress on HHVM + Hack
Takayuki Miyauchi
PHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作る
Yoshio Hanawa
Phpでアプリケーションサーバー
Phpでアプリケーションサーバー
k-motoyan
20110910 闇鍋的php魔改造
20110910 闇鍋的php魔改造
do_aki
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる
Yuta Hayakawa
php-buildがいかに便利かを力説する
php-buildがいかに便利かを力説する
Yoshio Hanawa
PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由
Yuji Otani
Hashicorpツールズ
Hashicorpツールズ
Uchio Kondo
PHP 8.0 の新記法を試してみよう!
PHP 8.0 の新記法を試してみよう!
Shohei Okada
8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室
Yusuke Ando
あにみた!(PHPカンファレンス用資料)
あにみた!(PHPカンファレンス用資料)
Hiroyuki Ishiyama
PHP With Windows binary
PHP With Windows binary
Masahiko Sakamoto
Php非同期の技法
Php非同期の技法
Shogo Kawahara
Similaire à Introducing hhvm hack-async
(20)
HackのAsyncCurlで死んだ話
HackのAsyncCurlで死んだ話
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。
Xhprof
Xhprof
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
FuelPHP × HHVM サービス開発事例
FuelPHP × HHVM サービス開発事例
HHVM/Hackを本番投入した話
HHVM/Hackを本番投入した話
WordPress on HHVM + Hack
WordPress on HHVM + Hack
PHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作る
Phpでアプリケーションサーバー
Phpでアプリケーションサーバー
20110910 闇鍋的php魔改造
20110910 闇鍋的php魔改造
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる
php-buildがいかに便利かを力説する
php-buildがいかに便利かを力説する
PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由
Hashicorpツールズ
Hashicorpツールズ
PHP 8.0 の新記法を試してみよう!
PHP 8.0 の新記法を試してみよう!
8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室
あにみた!(PHPカンファレンス用資料)
あにみた!(PHPカンファレンス用資料)
PHP With Windows binary
PHP With Windows binary
Php非同期の技法
Php非同期の技法
Plus de Kenjiro Kubota
いまどき(これから)のPHP開発
いまどき(これから)のPHP開発
Kenjiro Kubota
アイスタイル特設サイトにおけるVue.js導入事例(再演)
アイスタイル特設サイトにおけるVue.js導入事例(再演)
Kenjiro Kubota
gRPC入門
gRPC入門
Kenjiro Kubota
アイスタイル特設サイトにおけるVue.jsの導入事例
アイスタイル特設サイトにおけるVue.jsの導入事例
Kenjiro Kubota
Akkaとは。アクターモデル とは。
Akkaとは。アクターモデル とは。
Kenjiro Kubota
フロントエンドエンジニアが知るべきFirebaseの世界
フロントエンドエンジニアが知るべきFirebaseの世界
Kenjiro Kubota
PHP,Go,Elasticsearchによる、@cosmeを5倍速くする取り組み
PHP,Go,Elasticsearchによる、@cosmeを5倍速くする取り組み
Kenjiro Kubota
カメラを利用したアプリを作って約1000人で遊んだ話
カメラを利用したアプリを作って約1000人で遊んだ話
Kenjiro Kubota
中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTips
Kenjiro Kubota
FirebaseとNuxtでLPを作って見た
FirebaseとNuxtでLPを作って見た
Kenjiro Kubota
introducing vue-wait-component
introducing vue-wait-component
Kenjiro Kubota
LaravelでAPI定義を管理する
LaravelでAPI定義を管理する
Kenjiro Kubota
2017: A CSS Design Odyssey
2017: A CSS Design Odyssey
Kenjiro Kubota
Responsableを使ったadr実装
Responsableを使ったadr実装
Kenjiro Kubota
土日でLineみたいなチャット作ってきた!
土日でLineみたいなチャット作ってきた!
Kenjiro Kubota
Viewを活用して複雑化と戦う
Viewを活用して複雑化と戦う
Kenjiro Kubota
Laravel aspectで関心の分離
Laravel aspectで関心の分離
Kenjiro Kubota
Laravelでfacadeを使わない開発
Laravelでfacadeを使わない開発
Kenjiro Kubota
Plus de Kenjiro Kubota
(18)
いまどき(これから)のPHP開発
いまどき(これから)のPHP開発
アイスタイル特設サイトにおけるVue.js導入事例(再演)
アイスタイル特設サイトにおけるVue.js導入事例(再演)
gRPC入門
gRPC入門
アイスタイル特設サイトにおけるVue.jsの導入事例
アイスタイル特設サイトにおけるVue.jsの導入事例
Akkaとは。アクターモデル とは。
Akkaとは。アクターモデル とは。
フロントエンドエンジニアが知るべきFirebaseの世界
フロントエンドエンジニアが知るべきFirebaseの世界
PHP,Go,Elasticsearchによる、@cosmeを5倍速くする取り組み
PHP,Go,Elasticsearchによる、@cosmeを5倍速くする取り組み
カメラを利用したアプリを作って約1000人で遊んだ話
カメラを利用したアプリを作って約1000人で遊んだ話
中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTips
FirebaseとNuxtでLPを作って見た
FirebaseとNuxtでLPを作って見た
introducing vue-wait-component
introducing vue-wait-component
LaravelでAPI定義を管理する
LaravelでAPI定義を管理する
2017: A CSS Design Odyssey
2017: A CSS Design Odyssey
Responsableを使ったadr実装
Responsableを使ったadr実装
土日でLineみたいなチャット作ってきた!
土日でLineみたいなチャット作ってきた!
Viewを活用して複雑化と戦う
Viewを活用して複雑化と戦う
Laravel aspectで関心の分離
Laravel aspectで関心の分離
Laravelでfacadeを使わない開発
Laravelでfacadeを使わない開発
Introducing hhvm hack-async
1.
Introducing HHVM/Hack Async 2017/10/8@KenjiroKubota
2.
Pro le Kenjiro Kubota istyle.inc
3.
こういうことがありました。 多くのAPIをProxyするAPIを作る
4.
Go
5.
でも私はPHPerだから。
6.
Guzzle Promise
7.
どうせなら言語的に並列がサポートされてる Hackやってみたい
8.
HHVM/Hack
9.
もちろんPHPerならHHVMは知ってるよね HipHop Virtual Machine Facebook製 C++で出来てる PHPが実行できる JITコンパイラ Hack言語が実行できる Facebook,Wikipedia,Slack...etc
10.
Hackで書くとき <?hh 書きはじめが <?php ではなく
<?hh で書き始める。 拡張子は.hh .phpを上記の様に書き換えるだけでHackとして実行できる
11.
ちょっとした疑問 Composer使えるの Yes, PHPライブラリも使えます namespace使えるの hhvm/hhvm-autoload PHP製Frameworkはつかえるの Zend-Expressive使いましたが特に問題ありません。 たぶん他 Fwもいける
12.
PHP7でよくない
13.
今日その話するから黙っててください。
14.
HHVM/Hackの強み JITコンパイルされるから速い PHP7と比べると圧倒的有利とは言えなそう 型チェックが良い PHP7でも多くサポートされたけど、hh_clientで型チェックされる 独自のコレクション型がある 協調的マルチタスキングを言語的にサポート(Async/Await) 他にもHack独自の実装がありますがあとはぐぐってくださいね
15.
Async
16.
17.
HHAsiocurl_exec(); を使うことでhttpレスポンスを待っている間に次の処理を開始する仕組 み HHAsiojoin(<Awaitable>); で、並列処理したものを受け取る
18.
<?hh namespace HackUserDocumentationAsyncIntroExamplesCurl; async function
curl_A(): Awaitable<string> { $x = await HHAsiocurl_exec("http://example.com/"); return $x; } async function curl_B(): Awaitable<string> { $y = await HHAsiocurl_exec("http://example.net/"); return $y; } async function async_curl(): Awaitable<void> { $start = microtime(true); list($a, $b) = await HHAsiov(array(curl_A(), curl_B())); $end = microtime(true); echo "Total time taken: " . strval($end - $start) . " seconds" . PHP_EOL; } HHAsiojoin(async_curl());
19.
Guzzle Promiseじゃだめなの
20.
比較 レスポンスに1秒かかるエンドポイントに対して並列に実行 並列数 HHVM(3.21.1)/Hack PHP7.1 100
1.2360050678253 秒 1.38831615448 秒 1000 2.1049609184265 秒 3.3101191520691 秒 https://github.com/kubotak-is/async-test
21.
Hack Winner!
22.
実際に使ってみて 並列処理ならGoがいいって思うな。 だけど、PHPerなら今日からHackで簡単に並列を実装できるよ!
23.
PHPerのみんな~Hackやろうよ~
24.
thanks:)