やっと#ラズパイのDockerで動くJIT付きPHP8のイメージできた。
docker pull keinos/php8-jit:arm
ベンチマークかけようと思ったら、ビルドが始まってしまった。。。(これが長いのよ)
あとはイメージサイズ(80MB)か。小さくしてぇなぁ。
#RaspberryPiZeroW
#php8_with_jit_enabled
PHP8(にもっとも近い状態)をローカルでソースからコンパイルして JIT 有効にしてみた。
Docker とローカルで 0.2 秒程度の差しかなかった。ふーむ。。。
$ php test-fibonacci.php
TEST: Fibonacci 32
PHP Version:8.0.0-dev
Fibonacci(32): 3524578
Time: 3.4028899669647
$ docker run --rm -it -v $(pwd):/app keinos/php8-jit php /app/test-fibonacci.php
TEST: Fibonacci 32
PHP Version:8.0.0-dev
Fibonacci(32): 3524578
Time: 3.6831419467926
思ったほど Docker が原因でなく、単純に CPU(ARMv6l)が遅いだけっぽい。
まぁ、Appleのニュートンと同じCPUで動かしてると思えばそんなもんか。
#RaspberryPiZeroW
#PHP8_with_JIT_enabled
ラズパイゼロの#Busterでも#Dockerコンテナは動かせるようにはなったんですよ。えぇ。
でも、余りにもコンテナの起動が遅いのと PHP8+JIT でも思ったほど速度でなかったんです。
そこでローカルで PHP をソースからビルドしたんです。えぇ。
依存パッケージと奮闘しながらも、コンパイルが始まるところまで行きました。
ラズパイで軽く3時間かかったので「ラズパイゼロだともっとだろうな」、と。えぇ。寝たんです。
で、朝起きたら「限界っ!」と残して倒れてたんです。
Tensorflow のビルドよりもメモリを食うとは。
かわいそうなことをしました。
ところでラズパイゼロ(#ARMv6)用にPHP8+JITのイメージが欲しい方はこちら。
docker pull keinos/php8-jit:arm32v6
やっと#ラズパイのDockerで動くJIT付きPHP8のイメージできた。
docker pull keinos/php8-jit:arm
ベンチマークかけようと思ったら、ビルドが始まってしまった。。。(これが長いのよ)
あとはイメージサイズ(80MB)か。小さくしてぇなぁ。