hnwの日記

PHPカンファレンス2014でPHPNGのLT発表をしてきました


(12/4 追記)「さらに深掘りしたい方のために」の内容が嘘だったので書き直しました。immutableがどうこうと書いていたのですが、完全に勘違いしていました。


10月11日に開催されたPHPカンファレンス2014でLT発表してきました。以下が発表資料です。



5分では喋りきれない題材を選んでしまった感もありましたが、まだ未確定の情報を多く含んでいる状況ですからLTで良かったと思っています。プレゼン中の下線部は参考URLへのリンクになっているので、興味がある方はリンク先も見てみてください。


PHP7のリリース時期についてはまだまだ流動的だと思いますが、今のところdmitry, laruence, nikicを中心にノリノリで作業しているようなので、1年後リリースを目指して頑張って欲しいですね。

さらに深掘りしたい方のために

今回のプレゼンでは伝えきれませんでしたが、PHP7からは内部的な変数型の扱いとして、refcounted(参照カウントされている)という概念が導入されました。ざっくり言うとstring,array,object,resource,referenceがrefcountedです。それ以外のnull,boolean,integer,floatは参照カウントされておらず、即値をコピー渡しするようになりました。つまり、これまでPHPの特徴だったコピーオンライトが一部の変数型については即時コピーになるということになります。


この変更により、速度でもメモリ消費でもメリットがあるということのようです。しかし、今まで64bitポインタを受け渡していたのが128bitの構造体をコピーすることになるので、メモリ消費量の観点では損をする可能性もありそうですよね…。このあたりは僕もわかっていないので、今後調べていきたいと考えています。


詳しくは「PHPNG Implementation Details」などをご確認ください。

他のセッションの感想など

「HHVM + Hack == PHP++」は面白かったですね。JITコンパイルしているHHVMはmicrobenchmarkやマンデルブロー集合の計算などでは圧倒的に有利なわけですが、「microbenchmarkで速くても意味がない、実アプリで速いかどうかが大事だ」ということを言っていたのは非常に好感を持ちました。


他のセッションも楽しいものが多く、LTも非常に盛り上がりました。見られなかった講演も面白そうなものが多かったので、今から動画を見たいと思っています。


懇親会は相変わらず時間足りない印象で、あの人にも声かけとくんだったわー、なんて後から思ったりします。アイコンだけは見たことがある人の実体(?)を見ると何となく安心したような気持ちになるので、一言でも会話しておきたいと思うんですが、僕だけなんでしょうか。


何にせよ今年も楽しいカンファレンスでした。運営スタッフの皆様、今年も本当にお疲れさまでした。