[PHP-users 11507] Re: APCとPHP Accelerator で速度テストしてみたんですが。
Youichi Iwakiri
php-users@php.gr.jp
Thu, 14 Nov 2002 17:25:02 +0900
いわきりです
Masaaki Kikuzawa wrote in <20021114163808.881D.KIKUZAWA@coo-co-ltd.co.jp> :
>> >CGI版PHP >モジュール版PHP >phpA >APCmmap >APCshm
>> >1回目 6.340秒 >1回目 7.174秒 >1回目 7.177秒 >1回目 3.877秒 >1回目 4.143秒
>> >2回目 6.319秒 >2回目 7.170秒 >2回目 1.555秒 >2回目 3.158秒 >2回目 3.459秒
>> >3回目 6.318秒 >3回目 7.177秒 >3回目 1.549秒 >3回目 3.199秒 >3回目 3.441秒
>・APCでは、
> 最初の一回の実行が二回目以降に較べると若干遅い。
> しかし、phpAのようにキャッシュなしと同等ほどに遅くない。
>ちょっと考察してみます。
>条件:
>私の提示したスクリプトapc.phpを使っての結果と考える。
>メインループでは、
>for($i = 0; $i < 10; $i++) {
> include("apc.inc");
>}
>というように、なってます。
失礼、こっちをちゃんと読んでませんでした。
>仮説:
>APCでは、
> 最初のincludeで、apc.incのPHPの中間コードキャッシュを作成する。
仮説ではなく、その通りの動作をしていますよ。APCは :)
include/requireの度にcompilerが呼び出され、compilerが中間コードを
返す際にキャッシュしています。
次回以降は、キャッシュにヒットするので、中間コードを返すだけです。
>phpAでは、
> apc.php実行後に、apc.incのPHPの中間コードキャッシュを作成する。
>仮説を基に考察:
>APCでは、最初のループのincludeでapc.iniのキャッシュを作っているので、
>残り9回分は、キャッシュから読むので速くなっている。
>だから、apc.phpの1回目の実行が2回目以降に較べて若干遅くなる。
>phpAでは、実行中には、apc.iniのキャッシュを作らず、実行後、キャッシュ
>を作成する。だから、apc.phpの1回目の実行はキャッシュなしと同等に
>なってしまう。
>こんな感じでどうでしょうか?
PHP Acceleratorもsourceを公開して欲しいですよね。
どんな処理しているか興味あるんですけど。
#未だにFreeBSD-3.4-RELEASEなのでPHPAは試せずにいます。
--
Youichi Iwakiri