php と hhvm の性能比較
DESCRIPTION
第80回PHP勉強会でLTした際の資料です。デモ中心の発表のため、スライドの情報量は少ないです。他のスライドやブログにもう少し色々書いているので、興味のある方はご覧ください。 http://www.slideshare.net/y-uti/introduction-tohack-34252245 http://y-uti.hatenablog.jp 勉強会でデモに利用したコードは GitHub に置いてあります。 https://github.com/y-uti/mandelbrot-demoTRANSCRIPT
PHPとHHVMの性能比較
2014/07/28 第80回PHP勉強会 1
自己紹介名前◦ 内山雄司
仕事◦ プログラマ
◦ ほぼWeb 系のシステム開発会社で機械学習とか自然言語処理とか
◦ よく使う言語は sh, awk, PHP, C++ あたり
プライベート◦ ブログ: http://y-uti.hatenablog.jp/
◦ Twitter: y__uti (アンダースコア 2 個…)
2014/07/28 第80回PHP勉強会 2
今日の話HHVM が速くて楽しい
HHVM とは?◦ Facebook 製の PHP 実行環境
◦ JIT を備えている
◦ 既存の PHP のコードがそのまま動く(誇張あり)
別に Hack (プログラミング言語) で書かなくてもよい
2014/07/28 第80回PHP勉強会 3
ベンチマーク (5月頃の結果)
2014/07/28 第80回PHP勉強会 4
17.9
3
14.0
0
20.1
9
15.8
1
15.1
0
12.5
4
13.7
7
10.6
4
2.1
6
14.1
3
1.9
2
2.2
1
9.3
7
7.7
2
2.8
1
5.4
5
#N
/A
10.5
3
5.7
0
2.4
8
0
5
10
15
20
25
PHP と HHVM の実行時間の比較 [秒]
PHP HHVM
The Computer Language Benchmarks Game
http://benchmarksgame.alioth.debian.org/各問題の PHP 最速コードを利用
Mandelbrot 集合の描画フラクタル図形の一つ◦ http://ja.wikipedia.org/wiki/マンデルブロ集合
各ピクセルの色を決めるために複素数の掛け算を繰り返す
2014/07/28 第80回PHP勉強会 5
実行環境OS など (共通)
◦ CentOS 7
◦ Apache Httpd 2.4.6-17 (yum で入るもの)
比較対象◦ PHP 5.4.16 (yum で入るもの)
◦ HHVM 3.2.0-dev
◦ PHPNG
実装
◦ http://rosettacode.org/wiki/Mandelbrot_set#PHP
◦ 計算結果を GD で png画像にして応答を返している
2014/07/28 第80回PHP勉強会 6