BLOGプログラム2014.6.3動的言語PHPのパフォーマンスWWDCが開催されましたねいくつか発表がありましたが、個人的には新しい開発言語のSwiftが気になっているドラゴンです時間ができたら試してみたいですね。今回はPHPというスクリプト言語の話です今でこそ多くのサーバーサイド向け言語が登場していますが、その中でもPHPは使用率が一番高い(と思われる)言語です。何時間経っても集計が終了しなかったりと多くの問題が出ました。それを受けてPHPのパフォーマンスに関して調査してみたので、書いてみたいと思います■引数は参照で渡さなくても良い?PHPの参考書や解説サイトを見ていると、メソッドに対して参照渡しをしている人は少ないです。C++から学んだプログラマだと、サイズが大きい変数を渡すことはコピーコストへの懸念があります。C#のように言語として参照渡しを基本とする訳でもなく、メソッド内で変数を書き換えても渡し元には影響がありません。気になったので計測してみました。byteコピーコストがかかっていない...だと...!?そして参照で引数を渡し、値渡しで戻り値を受け取っているtest12はそれっぽくコストがかかっていますね。test11の結果には疑問が出ましたが、それ以外は予想通りです。この結果を受けて調べてみたところ、どうも変数に対して何らかの書き込みが入った時にコピーされる仕様になっているようです。byteそういうことか...!動的言語は凄いですね。無駄なコピーもかからない仕様になっています。念の為、readのみに関しても計測してみました。byteやはりコピーによるコストはかかっていませんね。PHPにおいては値渡しを使用する事のメリットは大きそうです。test21の事があるので、何も考えずに値渡しをするのは危険です。合っていると思われる言語を選べるように色々と試しておきたいですね。いぬねこRECRUIT大阪・東京共にスタッフを募集しています。Inc.CONTACTFACEBOOKTWITTERYOUTUBE。