SlideShare a Scribd company logo
@chichi1091
PHPべんちまーく
なんでベンチマーク?
特にこれといって発表するネタが思いつな
かったのでバージョン違いとチョー早いと言
われるHHVMのベンチマークを取ってみまし
た
対象は?
以下でベンチマークを実施
》 PHP-5.6.22
》 PHP-7.0.2
》 HHVM-3.12.2
HHVM?
質問:HHVMって聞いたことある人?
質問:HHVMって知ってる人?
HHVM?
むか~し、むかし
とあるPHPを利用している会社に「PHPベス
トプラクティス」というwikiがあったそうな・・・
HHVM?
そこには「標準関数は使うな。遅い。」って書
かれていた話を思い出した。
その会社は自社でPHPの処理系を作っ
た・・・
それが後の「HHVM/Hack」である
HHVM?
》 HHVM(HipHop Virtual Machine)
》 HHVMという仮想マシン上で動作する
》 言語仕様はPHP5.6がベース
》 Facebookが開発・公開しているC++で実装
されたPHP実行環境
》 PHPと互換性があるため、PHPのコードほ
ぼそのまま利用可能
計測環境
》 さくらのクラウド(石狩第1リージョン)
》 CPU:1Core
》 メモリ:1GB
》 Dockerでテスト環境構築
一番安いプラン。。
お金ないからね。。。
テストコード
「Free PHP Benchmark Performance Script」
を利用
http://www.php-benchmark-script.com/
算術計算、文字列操作、繰り返し、分岐のベ
ンチマークを評価する
自分でベンチマークコードを用意する時間はなかった。。
PHP5.6.22
1回目
(sec)
2回目
(sec)
Test_math 1.291 1.287
Test_string
manipulatio
n
1.169 1.189
Test_loops 0.848 0.847
Test_ifelse 0.852 0.848
Total 4.16 4.17
PHP7.0.2
1回目
(sec)
2回目
(sec)
Test_math 0.324 0.316
Test_string
manipulatio
n
0.488 0.477
Test_loops 0.312 0.305
Test_ifelse 0.349 0.343
Total 1.473 1.441
186~189%性能UP!
HHVM-3.12.2
1回目
(sec)
2回目
(sec)
Test_math 0.337 0.315
Test_string
manipulatio
n
0.636 0.607
Test_loops 0.183 0.163
Test_ifelse 0.122 0.121
Total 1.278 1.206
225~245%性能UP!
15~19%性能UP!
結論
》 PHP5.6→7.0はものすごく早くなった!
》 PHP7.0→HHVMは早くなったけど思ったほ
ど・・・ (算術や文字列操作は7.0の方が早い)
》 ベンチマークとは別にHHVMの環境構築が
意外とめんどくさかった(モジュールの依存関係)
》 HHVMよりPHP7にするのがよさそう

More Related Content

PDF
Introducing hhvm hack-async
PDF
第二回 クラウドサーバー管理者若葉の会
PDF
Zend OPcacheの速さの秘密を探る
PDF
Phpでアプリケーションサーバー
PDF
たのしい独自フレームワーク
PDF
phpext-2-takagi
PDF
Php beginnerが beginner + になるための話
PDF
php-buildがいかに便利かを力説する
Introducing hhvm hack-async
第二回 クラウドサーバー管理者若葉の会
Zend OPcacheの速さの秘密を探る
Phpでアプリケーションサーバー
たのしい独自フレームワーク
phpext-2-takagi
Php beginnerが beginner + になるための話
php-buildがいかに便利かを力説する

What's hot (20)

PDF
読みやすいプログラム、書き換えやすいプログラム
PDF
PHPの今とこれから2015
PDF
PHP7の内部実装から学ぶ性能改善テクニック
PDF
Testing PHP extension on Travis CI
PDF
PHP カンファレンス福岡 参加報告
PDF
12 総合演習Word Pressの利用
PDF
RFC: "var" Deprecation
PDF
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
PDF
anyenv + phpenv + php-build が便利すぎる件
PDF
PHP7の拡張モジュール事情
PPT
What webpage calls.
PDF
HTTPメッセージ、PHPの 事情ば分かっとっと?
PDF
PHPNGの動向
PDF
PHPの拡張モジュールをGoで作る
PDF
PHPerに覚えて欲しい日本語の重要性
PDF
Word pressのテーマは firephpでハックすれば 良かったのか
PPTX
Chrome extension入門
PDF
JIT for PHP を試した
KEY
php-timecopを実戦投入してみた
PDF
PHP-ML で手書き数字認識
読みやすいプログラム、書き換えやすいプログラム
PHPの今とこれから2015
PHP7の内部実装から学ぶ性能改善テクニック
Testing PHP extension on Travis CI
PHP カンファレンス福岡 参加報告
12 総合演習Word Pressの利用
RFC: "var" Deprecation
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
anyenv + phpenv + php-build が便利すぎる件
PHP7の拡張モジュール事情
What webpage calls.
HTTPメッセージ、PHPの 事情ば分かっとっと?
PHPNGの動向
PHPの拡張モジュールをGoで作る
PHPerに覚えて欲しい日本語の重要性
Word pressのテーマは firephpでハックすれば 良かったのか
Chrome extension入門
JIT for PHP を試した
php-timecopを実戦投入してみた
PHP-ML で手書き数字認識
Ad

PHPべんちまーく