Daily Archives: 2012/11/22


ふと、32bit 環境の php に公式配布の XCache を入れて php -v して違和感に気付きました。

PHP 5.4.9 (cli) (built: Nov 21 2012 19:54:46)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
    with XCache v3.0.0, Copyright (c) 2005-2012, by mOo
    with XCache Cacher v3.0.0, Copyright (c) 2005-2012, by mOo
    with XCache Coverager v3.0.0, Copyright (c) 2005-2012, by mOo

XCache Coverager とか自分でビルドしたやつだと出ないよ? ということで調べてみたらどうやら普通に configure オプションの問題でした。

Coverager は –enable-xcache-coverager 付けときゃ良いようです。が、help みると他にも色々あるので付けてみたところ、エラー無しでビルドできたのはこんな感じ。

cscript.exe /nologo configure.js --disable-all --enable-object-out-dir=. --enable-debug-pack --enable-cli --enable-xcache=yes,shared --enable-xcache-optimizer --enable-xcache-coverager --enable-xcache-encoder --enable-xcache-decoder --enable-xcache-disassembler

このうち –enable-xcache-optimizer は付けないとオプティマイザが動かないって事かと焦りましたが、FAQ 読むとそもそも 3.0 では実装されていないようで。

1.15. I have read that xcache.optimizer setting gives an important performance gain. is that true ?

Currently only the “cacher” and “coverager” modules are implemented, tested and known to be working, the “optimizer” does **nothing**. it will be available only in XCache version 2, which is in an early development stage.

試しに –enable-xcache-optimizer の有無でビルドしてみましたが、特に有意なパフォーマンス差が出るわけでも無いので現時点ではやはり意味なさげ。

ということで、普通に使う分には –enable-xcache=yes,shared で cacher が有効なら問題ないのでしょう。

Bookmark 2012/11/22