【環境】
■ 環境
・PHP8.2.4
【php.iniの設定】
・JITの設定
XAMPP8.2.4のphp.iniに以下を追記。
zend_extension = opcache
opcache.enable = 1
opcache.enable_cli = 1
opcache.jit = tracing
opcache.jit_buffer_size = 128M
上記の意味に関しては公式サイトを参考。
https://www.php.net/manual/ja/opcache.configuration.php
10万回、ループさせた計測結果
<?php
$time_start = microtime(true);
for($val = 0; $val <= 100000; $val++){
}
$time_end = microtime(true);
$time = $time_end - $time_start;
var_dump($time);
・JITの設定なし:0.004501819610595703125
・JITの設定あり:0.0003719329833984375
※ マイクロ秒
結果:JITの設定で処理速度が上がった。
【実装の改善】
https://qiita.com/kapitan/items/47d89449f23bc7f7c9bb
JITを設定した状態で、こちらの記事のソースを参考に計測させて頂きました。
実際に多く使いそうなものをピックアップしました。
計測結果は実行毎に変わりますが、平均的な計測結果を記載しました。
①. 比較演算子
== → ===
・「==」:0.0004198551177978515625
・「===」:0.000235080718994140625
②. 文字列の置換
preg_replace()→str_replace()
・「preg_replace()」:0.0165960788726806640625
・「str_replace()」:0.010623931884765625
③. 文字列が含まれるか
preg_match()→strpos()
・「preg_match()」:0.008882045745849609375
・「strpos()」:0.003960132598876953125
④. 配列に代入
array_push()→$array[]で代入
・「array_push()」:0.005177021026611328125
・「$array[]」:0.00269985198974609375
※ 全てマイクロ秒
【所感】
前回書いたこちらの記事も併せて考えれば、クエリも含めた全体的な処理速度の改善を見込めるのではないかと思う。
https://qiita.com/pig_buhi555/items/6e5f729f836370d1664a
【参考】
ありがとうございました。
・JITの設定方法 参考
https://qiita.com/jkichi/items/7412a654cfefa0c45bc0
・処理の計測方法 参考
https://eclair.blog/php-microtime/
・PHP処理速度改善 参考
https://qiita.com/kapitan/items/47d89449f23bc7f7c9bb