php で関数の引数と戻り値の型宣言
php Type declarations
このところ、Javascript の Typescript やら 型にガチガチにきびしい Rust なんかをいじっていると、結果、これらの書き方も一度は関わって知っておいた方がなにかと良かったと思ってはいる。特に Rust なんかと格闘していると、いやでも変数やら引数やら戻り値なんかの型を考えることが身についてくる。
そういえば php でも 7.? あたりから型宣言ができるようになっていたのではなかったか、と。ふと、思ったのは、こちらで型指定をすることで、php 側で型推定しなくて済むので、その分が速くなったりしないのだろうかと。いや、型チェックが入る分、逆に負荷が増えて遅くなってしまうのだろうか?と。
これは意外に型宣言することで速くなってくれるのであれば、よろこんで型宣言するのだけれど。などと考えていると、ちょっとわくわくしてくるし、試してみないことには始まらないのです。
php の場合、型宣言ができるといっても、いまのところ、それは関数においての引数と戻り値に限ってのことのようではあるけれど。あぁ、あとクラスのプロパティもだったか。
とりあえずは、関数においての型宣言を試してみるってことで。簡単なベンチを書いてやってみる。型宣言有りと無しの関数を 10,000回 ループさせて計測したのを 5 回づつやった平均を出して、それの平均値を10回分データをとって比較してみた。ちなみに型宣言無しの場合、declare 宣言の影響は無いとは思うものの、一応確認してみると、declare 宣言があってもなくても結果に違いはなかった。
結果は以下のごとし。
と、いうことになった。
早かったり遅かったりでほとんど変わらないよう。まぁ、どちらでもそんなに変わらないということのようで。速度的にはお好きなほうで書いてくださいってところか。まぁ、なら型宣言ありで書いたほうがわかりやすいし、良いということになるのでは。
Post : 2022/09/27 22:13
Comments feed
Trackback URL : https://strix.main.jp/wp-trackback.php?p=172491