SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
Zend OPcacheの
速さの秘密を探る
hnw
PHPカンファレンス2013(2013/09/14) 発表資料
13年9月14日土曜日
自己紹介
@hnw / id:hnw
勤務先:KLab株式会社
社内PHP案件の助っ人など(性能改善とか)やってます
カレーとバグが大好物
おいしい情報をお待ちしています
13年9月14日土曜日
今日おはなしすること
Zend OPcache とは
最適化フェーズの内側
安定性をどう判断するか
13年9月14日土曜日
Zend OPcache とは
最適化フェーズの内側
安定性をどう判断するか
13年9月14日土曜日
Zend OPcache とは
PHPのopcodeキャッシュ&最適化エクステンション
PHP 5.5に標準添付、APCの代替として期待されている
PHP 5.2から5.5に対応
前身: Zend社の商用製品(Zend Optimizer)
2013年2月 Open Source化、名前も変わった
13年9月14日土曜日
APC との違い
KVS 機能が無い
APCu などを併用しましょう
バイトコードの最適化を行う
これが速さの秘密
13年9月14日土曜日
Zend OPcache の性能
ベンチマークテスト
Opcode Cache Benchmarks
全般的にAPCより速い
仕組み上も有利
APCより遅くなる状況が珍しい
13年9月14日土曜日
OPcacheが行う
「最適化」って何?
13年9月14日土曜日
素のPHPの処理
PHPコードをopcodeに変換してからVM実行している
Parser
Lexer
OpcodeCompiler
ZendVM
PHP
token
AST
opcode
13年9月14日土曜日
素のPHPの処理
PHPコードをopcodeに変換してからVM実行している
Parser
Lexer
OpcodeCompiler
ZendVM
PHP
token
AST
opcode
13年9月14日土曜日
opcodeの例
参考:Opcode Descriptions and Examples
<?php
if (false) {
echo ”*”;
}
13年9月14日土曜日
素のPHPの処理
PHPコードをopcodeに変換してからVM実行している
Parser
Lexer
OpcodeCompiler
ZendVM
PHP
token
AST
opcode
13年9月14日土曜日
Zend VM概要
最大4オペランドのレジスタマシン
レジスタ数は無限個
各レジスタの変数型は実行時まで決定できない
命令数 146(PHP 5.5.3時点)
13年9月14日土曜日
PHP+APCの処理
opcodeキャッシュにより、PHPの解釈をスキップできる
Parser
Lexer
OpcodeCompiler
ZendVM
PHP
token
AST
opcode
OpcodeCache
opcode
13年9月14日土曜日
PHP+OPcacheの処理
opcodeレベルの最適化処理を行い、キャッシュする
Parser
Lexer
OpcodeCompiler
ZendVM
Optimizer
PHP
token
AST
opcode
opcode
OpcodeCache
opcode
13年9月14日土曜日
最適化の例
opcode数を減らしたり、効率の良いものに置換したりする
OPcache無効:4opcodes
OPcache有効:1opcode
13年9月14日土曜日
VLD
opcodeを確認するためのPHP extension
http://derickrethans.nl/projects.html#vld
メンテナ:Derick Rethans
GitHub上ではPHP 5.5に対応済み
https://github.com/derickr/vld
5.5対応のパッチは僕が書きました。バグレポよろしく。
13年9月14日土曜日
Zend OPcache とは
最適化フェーズの内側
安定性をどう判断するか
13年9月14日土曜日
OPcacheの最適化内容
substitute persistent constants (true, false, null, etc)
perform compile-time evaluation of constant binary and unary operations
optimize series of ADD_STRING and/or ADD_CHAR
convert CAST(IS_BOOL,x) into BOOL(x)
convert INTI_FCALL_BY_NAME + DO_FCALL_BY_NAME into DO_FCALL
convert non-numeric constants to numeric constants in numeric operators
optimize constant conditional JMPs
optimize static BRKs and CONTs
optimize $i = $i+expr to $i+=expr
optimize series of JMPs
change $i++ to ++$i where possible
CFG optimization
Optimize temp variables usage
remove NOPs
高度な最適化は行っていない印象
13年9月14日土曜日
最適化の具体例(1)
コンパイル時に評価できる場所は先に評価する
「$seconds_in_a_day = 60*60*24;」
あらかじめ 86400 として変数にセットする
13年9月14日土曜日
最適化の具体例(1)
OPcacheなし
60を60倍して、さらに24倍している
13年9月14日土曜日
最適化の具体例(1)
OPcacheあり
60*60*24した結果をいきなり変数に代入
13年9月14日土曜日
最適化の具体例(2)
可能であれば $i++ を ++$i に変える
式 $i++ の結果を利用していない場合、両者は交換可能
交換するとopcode数が減る
$i++ はZend VM上では2命令に展開される
++$i は1命令に展開される
13年9月14日土曜日
最適化の具体例(3)
無駄なジャンプ命令を削除する
ジャンプ命令の飛び先がジャンプ命令になる場合がある
2重ループの終端など
<?php
for ($i = 0; $i < 10; $i++) {
for ($j = 0; $j < 10; $j++) {
$sum += $arr[$i][$j]
}
}
13年9月14日土曜日
OPcacheがやらないこと(1)
共通部分式の除去 (Common Subexpression Elimination)
下記コードには「$_GET[’x’]」が2回出現
opcodeレベルでは3命令、一時変数に格納すれば有利
<?php
$y = $_GET[’x’] + 1;
$z = $_GET[’x’] - 9;
13年9月14日土曜日
OPcacheがやらないこと(2)
ループ不変式の追い出し (Loop Invariant Motion)
可能であればループ内の式をループ外に追い出す
例:下記の「$a=$b*$c」をループ外に追い出す
<?php
for ($i = 0; $i < 10; $i++) {
$a = $b * $c;
...($a,$b,$cの値がループ内で不変)
}
13年9月14日土曜日
最適化の効果
ひとつひとつの最適化の効果はごく僅か
この手の最適化は「ちりも積もれば」的な部分が大きい
人力で行っても報われないことが多い
細かい最適化が好きな人はOPcacheに機能追加しよう!
教科書的な内容で未実装のものが多い
13年9月14日土曜日
Zend OPcache とは
最適化フェーズの内側
安定性をどう判断するか
13年9月14日土曜日
APCとの比較
PHP 5.4用のAPCはずっとbeta
高負荷サイトでのホットデプロイ時に白画面になる事故
OPcache はPHP 5.5から本体添付、5.5なら鉄板
PHP 5.2以降をサポートしている
PHP 5.4との組み合わせも要注目
13年9月14日土曜日
OPcacheの枯れ具合
一定の安心感
開発開始から約10年、Zend社の製品として提供
PHPのコアコミッターが複数人参加している
今までソースコードが出ていなかった分、ポカがありうる
最近バグ報告しました / PHP5.5.2 に入ってます
zendtech/ZendOptimizerPlus PR#113
13年9月14日土曜日
まとめ
OPcacheの最適化
仕組みとしても、実測値から見ても有効
まだ最適化の余地がある
OPcacheの安定性
APCより良いのでは(特に5.4+)
一定レベル以上ではないか
13年9月14日土曜日
ご静聴
ありがとう
ございました
13年9月14日土曜日

Mais conteúdo relacionado

Mais procurados

PHPとシグナル、その裏側
PHPとシグナル、その裏側PHPとシグナル、その裏側
PHPとシグナル、その裏側do_aki
 
REST API のコツ
REST API のコツREST API のコツ
REST API のコツpospome
 
JIT のコードを読んでみた
JIT のコードを読んでみたJIT のコードを読んでみた
JIT のコードを読んでみたy-uti
 
Laravelとテストについて
LaravelとテストについてLaravelとテストについて
LaravelとテストについてTakeo Noda
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーyoku0825
 
Springを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイントSpringを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイント土岐 孝平
 
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門masayoshi takahashi
 
Laravel の paginate は一体何をやっているのか
Laravel の paginate は一体何をやっているのかLaravel の paginate は一体何をやっているのか
Laravel の paginate は一体何をやっているのかShohei Okada
 
クラウド環境下におけるAPIリトライ設計
クラウド環境下におけるAPIリトライ設計クラウド環境下におけるAPIリトライ設計
クラウド環境下におけるAPIリトライ設計Kouji YAMADA
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」Takuto Wada
 
Git flowの活用事例
Git flowの活用事例Git flowの活用事例
Git flowの活用事例Hirohito Kato
 
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション土岐 孝平
 
オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選Takuya Ueda
 
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)NTT DATA Technology & Innovation
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021Hiroshi Tokumaru
 
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―shinjiigarashi
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理Takuya ASADA
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -onozaty
 
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきことこれからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと土岐 孝平
 

Mais procurados (20)

PHPとシグナル、その裏側
PHPとシグナル、その裏側PHPとシグナル、その裏側
PHPとシグナル、その裏側
 
REST API のコツ
REST API のコツREST API のコツ
REST API のコツ
 
JIT のコードを読んでみた
JIT のコードを読んでみたJIT のコードを読んでみた
JIT のコードを読んでみた
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
 
Laravelとテストについて
LaravelとテストについてLaravelとテストについて
Laravelとテストについて
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
 
Springを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイントSpringを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイント
 
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
 
Laravel の paginate は一体何をやっているのか
Laravel の paginate は一体何をやっているのかLaravel の paginate は一体何をやっているのか
Laravel の paginate は一体何をやっているのか
 
クラウド環境下におけるAPIリトライ設計
クラウド環境下におけるAPIリトライ設計クラウド環境下におけるAPIリトライ設計
クラウド環境下におけるAPIリトライ設計
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
Git flowの活用事例
Git flowの活用事例Git flowの活用事例
Git flowの活用事例
 
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
 
オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選
 
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
 
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきことこれからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
 

Destaque

顧問エンジニアというロールを作りたい
顧問エンジニアというロールを作りたい顧問エンジニアというロールを作りたい
顧問エンジニアというロールを作りたいMichitaka Yumoto
 
これって、ドメイン駆動設計?
これって、ドメイン駆動設計?これって、ドメイン駆動設計?
これって、ドメイン駆動設計?Michitaka Yumoto
 
PHPバージョン別応答速度比較
PHPバージョン別応答速度比較PHPバージョン別応答速度比較
PHPバージョン別応答速度比較Takayuki Saito
 
Zend framework 3 と zend expressive の話
Zend framework 3 と zend expressive の話Zend framework 3 と zend expressive の話
Zend framework 3 と zend expressive の話Satoru Yoshida
 
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
PHP-FPMとuWSGI——mod_php以外の選択肢を探るPHP-FPMとuWSGI——mod_php以外の選択肢を探る
PHP-FPMとuWSGI——mod_php以外の選択肢を探るYoshio Hanawa
 
PHP7の内部実装から学ぶ性能改善テクニック
PHP7の内部実装から学ぶ性能改善テクニックPHP7の内部実装から学ぶ性能改善テクニック
PHP7の内部実装から学ぶ性能改善テクニックYoshio Hanawa
 
PHP7はなぜ速いのか
PHP7はなぜ速いのかPHP7はなぜ速いのか
PHP7はなぜ速いのかYoshio Hanawa
 
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちは偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちはYoshio Hanawa
 
PHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイントPHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイントYoshio Hanawa
 
エンジニアのための経営学
エンジニアのための経営学エンジニアのための経営学
エンジニアのための経営学Michitaka Yumoto
 
「納品のない受託開発」とエンジニアの働きかたのこれから
「納品のない受託開発」とエンジニアの働きかたのこれから「納品のない受託開発」とエンジニアの働きかたのこれから
「納品のない受託開発」とエンジニアの働きかたのこれからYoshihito Kuranuki
 
Bpstudy#92 エンジニアの経営学
Bpstudy#92 エンジニアの経営学Bpstudy#92 エンジニアの経営学
Bpstudy#92 エンジニアの経営学Michitaka Yumoto
 
エンジニアがとるべき8つの行動
エンジニアがとるべき8つの行動エンジニアがとるべき8つの行動
エンジニアがとるべき8つの行動Hiroshi Ogino
 
Yokohama North Meetup #2
Yokohama North Meetup #2Yokohama North Meetup #2
Yokohama North Meetup #2Kazuaki KURIU
 
Organizácia školského roka 2014/2015 na ZŠ Vazovova 4 Bratislava
Organizácia školského roka 2014/2015 na ZŠ Vazovova 4 BratislavaOrganizácia školského roka 2014/2015 na ZŠ Vazovova 4 Bratislava
Organizácia školského roka 2014/2015 na ZŠ Vazovova 4 BratislavaPROMOSPRAVY.sk
 
"地方エンジニア" という考え方はすでに終わっている
"地方エンジニア" という考え方はすでに終わっている"地方エンジニア" という考え方はすでに終わっている
"地方エンジニア" という考え方はすでに終わっているHiroshi Ogino
 
Testing PHP extension on Travis CI
Testing PHP extension on Travis CITesting PHP extension on Travis CI
Testing PHP extension on Travis CIYoshio Hanawa
 
zval をダイエットしてみた
zval をダイエットしてみたzval をダイエットしてみた
zval をダイエットしてみたYoshio Hanawa
 

Destaque (20)

顧問エンジニアというロールを作りたい
顧問エンジニアというロールを作りたい顧問エンジニアというロールを作りたい
顧問エンジニアというロールを作りたい
 
これって、ドメイン駆動設計?
これって、ドメイン駆動設計?これって、ドメイン駆動設計?
これって、ドメイン駆動設計?
 
PHP 5.5 Zend OPcache
PHP 5.5 Zend OPcachePHP 5.5 Zend OPcache
PHP 5.5 Zend OPcache
 
PHPバージョン別応答速度比較
PHPバージョン別応答速度比較PHPバージョン別応答速度比較
PHPバージョン別応答速度比較
 
Zend framework 3 と zend expressive の話
Zend framework 3 と zend expressive の話Zend framework 3 と zend expressive の話
Zend framework 3 と zend expressive の話
 
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
PHP-FPMとuWSGI——mod_php以外の選択肢を探るPHP-FPMとuWSGI——mod_php以外の選択肢を探る
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
 
PHP7の内部実装から学ぶ性能改善テクニック
PHP7の内部実装から学ぶ性能改善テクニックPHP7の内部実装から学ぶ性能改善テクニック
PHP7の内部実装から学ぶ性能改善テクニック
 
PHP7はなぜ速いのか
PHP7はなぜ速いのかPHP7はなぜ速いのか
PHP7はなぜ速いのか
 
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちは偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
 
PHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイントPHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイント
 
エンジニアのための経営学
エンジニアのための経営学エンジニアのための経営学
エンジニアのための経営学
 
「納品のない受託開発」とエンジニアの働きかたのこれから
「納品のない受託開発」とエンジニアの働きかたのこれから「納品のない受託開発」とエンジニアの働きかたのこれから
「納品のない受託開発」とエンジニアの働きかたのこれから
 
Bpstudy#92 エンジニアの経営学
Bpstudy#92 エンジニアの経営学Bpstudy#92 エンジニアの経営学
Bpstudy#92 エンジニアの経営学
 
エンジニアがとるべき8つの行動
エンジニアがとるべき8つの行動エンジニアがとるべき8つの行動
エンジニアがとるべき8つの行動
 
Yokohama North Meetup #2
Yokohama North Meetup #2Yokohama North Meetup #2
Yokohama North Meetup #2
 
Organizácia školského roka 2014/2015 na ZŠ Vazovova 4 Bratislava
Organizácia školského roka 2014/2015 na ZŠ Vazovova 4 BratislavaOrganizácia školského roka 2014/2015 na ZŠ Vazovova 4 Bratislava
Organizácia školského roka 2014/2015 na ZŠ Vazovova 4 Bratislava
 
"地方エンジニア" という考え方はすでに終わっている
"地方エンジニア" という考え方はすでに終わっている"地方エンジニア" という考え方はすでに終わっている
"地方エンジニア" という考え方はすでに終わっている
 
Testing PHP extension on Travis CI
Testing PHP extension on Travis CITesting PHP extension on Travis CI
Testing PHP extension on Travis CI
 
zval をダイエットしてみた
zval をダイエットしてみたzval をダイエットしてみた
zval をダイエットしてみた
 
PHPNGの動向
PHPNGの動向PHPNGの動向
PHPNGの動向
 

Semelhante a Zend OPcacheの速さの秘密を探る

今すぐ使えるPHP開発のあれこれ
今すぐ使えるPHP開発のあれこれ今すぐ使えるPHP開発のあれこれ
今すぐ使えるPHP開発のあれこれYuya Kikukawa
 
Phpでアプリケーションサーバー
PhpでアプリケーションサーバーPhpでアプリケーションサーバー
Phpでアプリケーションサーバーk-motoyan
 
App Engine と いまどきのPHP
App Engine と いまどきのPHPApp Engine と いまどきのPHP
App Engine と いまどきのPHPsokamo1975
 
20110910 闇鍋的php魔改造
20110910 闇鍋的php魔改造20110910 闇鍋的php魔改造
20110910 闇鍋的php魔改造do_aki
 
php-timecopを実戦投入してみた
php-timecopを実戦投入してみたphp-timecopを実戦投入してみた
php-timecopを実戦投入してみたYoshio Hanawa
 
PHP5技術者認定初級試験を受験しました
PHP5技術者認定初級試験を受験しましたPHP5技術者認定初級試験を受験しました
PHP5技術者認定初級試験を受験しましたhajikami
 
簡単便利!Laravel Homestead
簡単便利!Laravel Homestead簡単便利!Laravel Homestead
簡単便利!Laravel HomesteadShota Inoue
 
Word camptokyo2012セッション資料
Word camptokyo2012セッション資料Word camptokyo2012セッション資料
Word camptokyo2012セッション資料horike37
 
PHP で実行中のスクリプトの動作を下から覗き見る
PHP で実行中のスクリプトの動作を下から覗き見るPHP で実行中のスクリプトの動作を下から覗き見る
PHP で実行中のスクリプトの動作を下から覗き見るshinjiigarashi
 
爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話Shohei Tai
 
PHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptxPHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptxHideo Kashioka
 
いよいよPHPerもリーンで行こう
いよいよPHPerもリーンで行こういよいよPHPerもリーンで行こう
いよいよPHPerもリーンで行こうTsutomu Chikuba
 
PHP7の拡張モジュール事情
PHP7の拡張モジュール事情PHP7の拡張モジュール事情
PHP7の拡張モジュール事情Yoshio Hanawa
 
WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)
WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)
WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)Takashi Uemura
 
初心者向けPHPソースコード診断
初心者向けPHPソースコード診断初心者向けPHPソースコード診断
初心者向けPHPソースコード診断kitoku_magic
 
「初めてのphp」読書会
「初めてのphp」読書会「初めてのphp」読書会
「初めてのphp」読書会良太 増子
 

Semelhante a Zend OPcacheの速さの秘密を探る (20)

今すぐ使えるPHP開発のあれこれ
今すぐ使えるPHP開発のあれこれ今すぐ使えるPHP開発のあれこれ
今すぐ使えるPHP開発のあれこれ
 
Phpでアプリケーションサーバー
PhpでアプリケーションサーバーPhpでアプリケーションサーバー
Phpでアプリケーションサーバー
 
App Engine と いまどきのPHP
App Engine と いまどきのPHPApp Engine と いまどきのPHP
App Engine と いまどきのPHP
 
20110910 闇鍋的php魔改造
20110910 闇鍋的php魔改造20110910 闇鍋的php魔改造
20110910 闇鍋的php魔改造
 
php-timecopを実戦投入してみた
php-timecopを実戦投入してみたphp-timecopを実戦投入してみた
php-timecopを実戦投入してみた
 
PHP5技術者認定初級試験を受験しました
PHP5技術者認定初級試験を受験しましたPHP5技術者認定初級試験を受験しました
PHP5技術者認定初級試験を受験しました
 
2009 PHP初心者
2009 PHP初心者2009 PHP初心者
2009 PHP初心者
 
簡単便利!Laravel Homestead
簡単便利!Laravel Homestead簡単便利!Laravel Homestead
簡単便利!Laravel Homestead
 
Word camptokyo2012セッション資料
Word camptokyo2012セッション資料Word camptokyo2012セッション資料
Word camptokyo2012セッション資料
 
PHP で実行中のスクリプトの動作を下から覗き見る
PHP で実行中のスクリプトの動作を下から覗き見るPHP で実行中のスクリプトの動作を下から覗き見る
PHP で実行中のスクリプトの動作を下から覗き見る
 
Osc2014
Osc2014Osc2014
Osc2014
 
爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話
 
PHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptxPHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptx
 
PSGIへの誘い
PSGIへの誘いPSGIへの誘い
PSGIへの誘い
 
いよいよPHPerもリーンで行こう
いよいよPHPerもリーンで行こういよいよPHPerもリーンで行こう
いよいよPHPerもリーンで行こう
 
PHP7の拡張モジュール事情
PHP7の拡張モジュール事情PHP7の拡張モジュール事情
PHP7の拡張モジュール事情
 
WCO2012「PHP教室」
WCO2012「PHP教室」WCO2012「PHP教室」
WCO2012「PHP教室」
 
WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)
WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)
WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)
 
初心者向けPHPソースコード診断
初心者向けPHPソースコード診断初心者向けPHPソースコード診断
初心者向けPHPソースコード診断
 
「初めてのphp」読書会
「初めてのphp」読書会「初めてのphp」読書会
「初めてのphp」読書会
 

Mais de Yoshio Hanawa

自宅の消費電力をリアルタイムに グラフ化してみた
自宅の消費電力をリアルタイムに グラフ化してみた自宅の消費電力をリアルタイムに グラフ化してみた
自宅の消費電力をリアルタイムに グラフ化してみたYoshio Hanawa
 
Zend VMにおける例外の実装
Zend VMにおける例外の実装Zend VMにおける例外の実装
Zend VMにおける例外の実装Yoshio Hanawa
 
Zend VMにおける例外の実装
Zend VMにおける例外の実装Zend VMにおける例外の実装
Zend VMにおける例外の実装Yoshio Hanawa
 
ぼくのかんがえる
さいきょうの銀行振込
ぼくのかんがえる
さいきょうの銀行振込ぼくのかんがえる
さいきょうの銀行振込
ぼくのかんがえる
さいきょうの銀行振込Yoshio Hanawa
 
「OKグーグル! 銀行振込1000円」
「OKグーグル! 銀行振込1000円」「OKグーグル! 銀行振込1000円」
「OKグーグル! 銀行振込1000円」Yoshio Hanawa
 
浮動小数点数とOSSのバグの話
浮動小数点数とOSSのバグの話浮動小数点数とOSSのバグの話
浮動小数点数とOSSのバグの話Yoshio Hanawa
 
PHP拡張をPECLに登録してわかったこと
PHP拡張をPECLに登録してわかったことPHP拡張をPECLに登録してわかったこと
PHP拡張をPECLに登録してわかったことYoshio Hanawa
 
GitHubからお金をもらった話
GitHubからお金をもらった話GitHubからお金をもらった話
GitHubからお金をもらった話Yoshio Hanawa
 
iOS/macOSとAndroid/Linuxのサンドボックス機構について調べた
iOS/macOSとAndroid/Linuxのサンドボックス機構について調べたiOS/macOSとAndroid/Linuxのサンドボックス機構について調べた
iOS/macOSとAndroid/Linuxのサンドボックス機構について調べたYoshio Hanawa
 
realpathキャッシュと OPcacheの面倒すぎる関係
realpathキャッシュと OPcacheの面倒すぎる関係realpathキャッシュと OPcacheの面倒すぎる関係
realpathキャッシュと OPcacheの面倒すぎる関係Yoshio Hanawa
 
家庭用ブロードバンドルータ上でWordPressを動かそう
家庭用ブロードバンドルータ上でWordPressを動かそう家庭用ブロードバンドルータ上でWordPressを動かそう
家庭用ブロードバンドルータ上でWordPressを動かそうYoshio Hanawa
 
Laungage Update PHP編
Laungage Update PHP編Laungage Update PHP編
Laungage Update PHP編Yoshio Hanawa
 
PHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作るPHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作るYoshio Hanawa
 
GitHubにバグ報告して賞金$500を頂いた話
GitHubにバグ報告して賞金$500を頂いた話GitHubにバグ報告して賞金$500を頂いた話
GitHubにバグ報告して賞金$500を頂いた話Yoshio Hanawa
 
php-buildがいかに便利かを力説する
php-buildがいかに便利かを力説するphp-buildがいかに便利かを力説する
php-buildがいかに便利かを力説するYoshio Hanawa
 
PHPの正規表現と最長一致
PHPの正規表現と最長一致PHPの正規表現と最長一致
PHPの正規表現と最長一致Yoshio Hanawa
 
浮動小数点数の話 2013年度版
浮動小数点数の話 2013年度版浮動小数点数の話 2013年度版
浮動小数点数の話 2013年度版Yoshio Hanawa
 
PHPエクステンションの開発tips
PHPエクステンションの開発tipsPHPエクステンションの開発tips
PHPエクステンションの開発tipsYoshio Hanawa
 
PHPで時間旅行をする方法
PHPで時間旅行をする方法PHPで時間旅行をする方法
PHPで時間旅行をする方法Yoshio Hanawa
 

Mais de Yoshio Hanawa (19)

自宅の消費電力をリアルタイムに グラフ化してみた
自宅の消費電力をリアルタイムに グラフ化してみた自宅の消費電力をリアルタイムに グラフ化してみた
自宅の消費電力をリアルタイムに グラフ化してみた
 
Zend VMにおける例外の実装
Zend VMにおける例外の実装Zend VMにおける例外の実装
Zend VMにおける例外の実装
 
Zend VMにおける例外の実装
Zend VMにおける例外の実装Zend VMにおける例外の実装
Zend VMにおける例外の実装
 
ぼくのかんがえる
さいきょうの銀行振込
ぼくのかんがえる
さいきょうの銀行振込ぼくのかんがえる
さいきょうの銀行振込
ぼくのかんがえる
さいきょうの銀行振込
 
「OKグーグル! 銀行振込1000円」
「OKグーグル! 銀行振込1000円」「OKグーグル! 銀行振込1000円」
「OKグーグル! 銀行振込1000円」
 
浮動小数点数とOSSのバグの話
浮動小数点数とOSSのバグの話浮動小数点数とOSSのバグの話
浮動小数点数とOSSのバグの話
 
PHP拡張をPECLに登録してわかったこと
PHP拡張をPECLに登録してわかったことPHP拡張をPECLに登録してわかったこと
PHP拡張をPECLに登録してわかったこと
 
GitHubからお金をもらった話
GitHubからお金をもらった話GitHubからお金をもらった話
GitHubからお金をもらった話
 
iOS/macOSとAndroid/Linuxのサンドボックス機構について調べた
iOS/macOSとAndroid/Linuxのサンドボックス機構について調べたiOS/macOSとAndroid/Linuxのサンドボックス機構について調べた
iOS/macOSとAndroid/Linuxのサンドボックス機構について調べた
 
realpathキャッシュと OPcacheの面倒すぎる関係
realpathキャッシュと OPcacheの面倒すぎる関係realpathキャッシュと OPcacheの面倒すぎる関係
realpathキャッシュと OPcacheの面倒すぎる関係
 
家庭用ブロードバンドルータ上でWordPressを動かそう
家庭用ブロードバンドルータ上でWordPressを動かそう家庭用ブロードバンドルータ上でWordPressを動かそう
家庭用ブロードバンドルータ上でWordPressを動かそう
 
Laungage Update PHP編
Laungage Update PHP編Laungage Update PHP編
Laungage Update PHP編
 
PHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作るPHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作る
 
GitHubにバグ報告して賞金$500を頂いた話
GitHubにバグ報告して賞金$500を頂いた話GitHubにバグ報告して賞金$500を頂いた話
GitHubにバグ報告して賞金$500を頂いた話
 
php-buildがいかに便利かを力説する
php-buildがいかに便利かを力説するphp-buildがいかに便利かを力説する
php-buildがいかに便利かを力説する
 
PHPの正規表現と最長一致
PHPの正規表現と最長一致PHPの正規表現と最長一致
PHPの正規表現と最長一致
 
浮動小数点数の話 2013年度版
浮動小数点数の話 2013年度版浮動小数点数の話 2013年度版
浮動小数点数の話 2013年度版
 
PHPエクステンションの開発tips
PHPエクステンションの開発tipsPHPエクステンションの開発tips
PHPエクステンションの開発tips
 
PHPで時間旅行をする方法
PHPで時間旅行をする方法PHPで時間旅行をする方法
PHPで時間旅行をする方法
 

Zend OPcacheの速さの秘密を探る