TLにながれてきたのですが、
HippyVM
http://hippyvm.com/
「HippyVM on average is 7.3x faster than stock PHP and 2x faster than Facebook's HHVM. Please check our benchmarks.」
「まじか!おもしろそう!試そう!」
これはなんなのか
Pypy+RPythonによるPHPの実行環境です。
基本的にはPypyでできており、RPythonでバイナリにしている。
速い!のかもしれない。
添付のベンチ見る限り。
(ただし、添付のベンチ、一部完走しなかった)
つかえるの?
残念ですが、何かを作るにはまだ実装されていないものが多すぎます。
var_dumpとかfile_get_contentsとかpreg_*系、あと例外は実装されているっぽいですが、
(別にいらないけど)phpinfo()はないし*1、無名関数や名前空間などがサポートされていない。
当然?ですがまだウェブサーバーとの連携もない(やるならCGIとして動かす感じ)
後、Composerもうごかない。composer.pharがうごかないし(Pharサポートがないっぽい)、そこはPHPで肩代わりするとしても、そもそも名前空間サポートされてないっぽい。
#!/usr/bin/env php syntax error, unexpected 'T_NS_SEPARATOR', file /root/test/get_gifboom_gif/vendor/composer/autoload_real.php on line 23
Parse error: not implemented in /root/test/get_gifboom_gif/getgifboomgif on line 21
ので、よほどシンプルなPHPじゃないとうごかないし、まだ使えるものではない。
えっ…なにそれ、意味あるの?
面白いというだけでも大分イケてるやん??
まあ、今の所はPHPでバッチ的にすごく計算させたいという変わった人以外は、用はないとおもいます。
でも、サイトには「HippyVM is aimed at being 100% compatible with Zend PHP」とあるので、いつかは使えるようになるはずですね。
できれば早めにビルトインサーバー的なものをサポートしてくれると最高ですね。
とりあえずウォッチ開始しました。
おまけCentOS6.4で試したときのhistory
Python2.6と3.4だとうまくビルドが通りませんでした。
あと、ビルドに1.5〜2GBくらいメモリを消費するので、ためしにvmで〜という人は注意しましょう。
ちなみにメモリがたりたとしても、ビルドにはかなり時間かかります。
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm wget http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -Uvh *.rpm yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel git gcc pcre* libffi* yum --enablerepo=remi-php55 install php wget https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz tar xvzf Python-2.7.6.tgz cd Python-2.7.6 ./configure make all make install wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py /usr/local/bin/python2.7 ./get-pip.py /usr/local/bin/pip2.7 install rply cd ~ wget https://bitbucket.org/pypy/pypy/get/default.tar.bz2 tar xvjf default.tar.bz2 mv pypy-pypy-99d559ea7f5f/ pypy cd ~ git clone git@github.com:hippyvm/hippyvm.git cd hippyvm/ /usr/local/bin/pip2.7 install -r requirements.txt /usr/local/bin/python2.7 ../pypy/rpython/bin/rpython -Ojit targethippy.py ./hippy-c
最近のPHPは
これとか、HHVMとか、Zephirとか、華やかな感じになってきて良いですね!!
追記 マンデルブロをみるおしごと
マンデルブロ集合を眺めるお仕事 / “PypyのPHP実行環境HippyVM試した - uzullaがブログ” http://t.co/SMD4WGrd7O
— Hiraku (@Hiraku) 2014年3月25日
マンデルブロの様子です。たっぷり30分はみつづけることになります。
(どうでもいいけど、Kodingはビルド時間が長すぎるからか、強制Killされてビルドできなかった、つらい)
最後に、やっぱりしなければいけない宣伝
当方がPHPの章を担当した下記書籍、発売して1週間程度たちました。
好評頂いているようなのですが、いまだレビューゼロ件。だれかレビューかいていただけると著者陣大変喜びます。
ちなみに、掲載されているサンプルコードはHHVMではうごきますが、hippyVMはうごきませんでした。
*1:関数はあるが、なにもでてこないし、なぜか引数を要求する???