PHP7とPHP5を比較してみよう(2)
前回予告したとおり、今回はPHP5の配列とPHP7の配列・配列に連想配列追加・連想配列を比較します。
配列に連想配列追加?なんで?
と思われそうだけど、PHP7は引数に数字だと配列で文字の引数を追加すると連想配列に変換されるようなので、最後に文字の引数を追加して処理速度等にどう影響するかも調査してみようかと。
配列の引数の個数は1000個、10000個、100000個、500000個を用意。
配列を1個からN個までデータを代入していく。
説明で書いてもあれなのでこんな感じのソースで実験。
$ary = [];
for ($i=1;$i<100;$i++) {
$index = (int) $i;
$ary[$index] = ‘test’;
}
$index = ((string) $i).’a’;
$ary[$index] = ‘test’;
5回実行してその平均時間をとります。
ではまずは、処理速度を見てみよう!
注目したいのが「配列→連想配列」。配列に文字の引数を追加すると内部で連想配列化して遅くなるんじゃなかったっけ?
これを見る限りだとできるだけ数字の引数で配列作って、仕様上仕方なく文字の引数を追加する事になってもそんなに影響がなさそう。
PHP5とPHP7の連想配列との比較は10000件だとPHP5のほうが速くて、それ以外だとPHP7が速いという結果になった。
PHP7の連想配列もある程度速くなった事を期待したけど少々残念。
次は使用メモリ量を見てみよう。
こちらは一目瞭然でPHP7のほうが軒並み使用メモリ量が減っているのがわかる。
PHP7の連想配列は速度こそ変わってなかったが使用メモリ量の観点から見ると十分意味のあるバージョンアップだったように思う。
とりあえず、配列についてはこんな感じです。次回はフレームワークについての比較をお楽しみに!
PS 1000個のテストいらなくね?ってツッコミはきこえなーい
メイン広告
関連記事
-
PHP7とPHP5を比較してみよう(3)
前回は配列について比較したけど今回はZendFramework、laravel、symfony、ca
-
PHP7とPHP5を比較してみよう(1)
遅くなりましたが、明けましておめでとうございます。 特に書くネタもなかったので放置してたけど、
-
phpMyAdminの拡張機能を設定しよう
いまさらだけどちょうどサーバ環境を作る機会があったので phpMyAdminの拡張機能の設定をメモ
-
PHP4のレンタルサーバ注意報
さて、今回は愚痴ネタです。PHP4のレンタルサーバを使っている人は要注意です。
横長広告
- PREV
- PHP7とPHP5を比較してみよう(1)
- NEXT
- PHP7とPHP5を比較してみよう(3)