PHP7とPHP5を比較してみよう(2)

公開日: : PHP ,

前回予告したとおり、今回は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個のテストいらなくね?ってツッコミはきこえなーい

 

 

メイン広告

関連記事

phpMyAdminの拡張機能を設定しよう

いまさらだけどちょうどサーバ環境を作る機会があったので phpMyAdminの拡張機能の設定をメモメ

記事を読む

no image

PHP4のレンタルサーバ注意報

さて、今回は愚痴ネタです。PHP4のレンタルサーバを使っている人は要注意です。

記事を読む

PHP7とPHP5を比較してみよう(3)

前回は配列について比較したけど今回はZendFramework、laravel、symfony、ca

記事を読む

PHP7とPHP5を比較してみよう(1)

遅くなりましたが、明けましておめでとうございます。 特に書くネタもなかったので放置してたけど、速度

記事を読む

横長広告

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

メイン広告

no image
SSDの換装

久しぶりです。新しくブログが更新されたと言うことは・・・。 そうです。

CentOS7.2で最小限のインストール

今回は、最新のCentOS 7.2をインストールしてみよう。GUIベー

phpMyAdminの拡張機能を設定しよう

いまさらだけどちょうどサーバ環境を作る機会があったので phpMyAd

PHP7とPHP5を比較してみよう(3)

前回は配列について比較したけど今回はZendFramework、lar

PHP7とPHP5を比較してみよう(2)

前回予告したとおり、今回はPHP5の配列とPHP7の配列・配列に連想配

→もっと見る

PAGE TOP ↑