hnwの日記

第五回闇PHP勉強会でzvalをダイエットする試みについて発表しました

3月15日に開催された第五回闇PHP勉強会で発表してきました。以下が発表資料です。



僕の発表では、PHPの変数1個に対応する構造体zvalが64bit環境では24byteになるけれども、これを16byteにしたらPHPの高速化・省メモリ化ができるんじゃないか、という試みを紹介しました。実験自体は失敗だったんですが、64bit環境だとzvalに意外と無駄があるということ、またzvalの構造変更が十分現実的だったということは面白い指摘かなと思っています。


少し内容について補足しておきます。僕としては、こういうトリッキーな実装をするなら劇的に速くなる必要があると考えています。NaN boxingにしても速度やメモリ消費量でのメリットが僅かであれば採用されないようなテクニックではないでしょうか。実験の結果を見る限り、今回の方針のままではこれ以上チューニングしても劇的な改善とはならないでしょうから、失敗の原因を考えてみるというプレゼンになっています。


今回は尺の都合でNaN boxingの紹介ができませんでしたが、非常に面白いテクニックなので参考リンクの文章もご覧ください。


それにしても、今回もマニアックな発表ばかりで、とても楽しかったですね。特に今回は通常発表4人に加えてLT発表4人と過去最大規模だったのも素晴らしかったと思います。主催の@anatooさん、毎回ありがとうございます。次回はもう少し早めの開催を期待してます!