RのWeb制作

Webサービス制作のための技術情報を。データ分析(Python、機械学習コンペ他)や自作野球ゲームMeisyoのこと中心。

Web制作

[PHP]ベンチマークサイトの紹介

投稿日:

Speed
あなたは表示速度が「速い」サイトと「遅い」サイト、どちらがいいですか?
「速い」サイトの方がいいですよね!

「速い」サイトは「速くする」関数の使い方が上手です。
PHPのベンチマーク(いろいろな関数の速度を調べられる)サイトを紹介します!

Benchmarks

試せることはたくさんあります。
以下に例を示します。

例1.arrays vs. variables

The first test, “$array[$n]”, it took 0.4422 seconds.

$array = array();
for ($i = 0; $i < 100; $i++)
	$array[$i] = $i;

The second test, “${‘array_’ . $n}”, took 0.9907 seconds.

for ($i = 0; $i < 100; $i++)
	${'array_' . $i} = $i;

${‘array_’ . $i} ← PHPでもできるんですね、この書き方。

$array[$i] が約2倍速いです。

例2.in_array() vs. key

The first test, “in_array()”, it took 0.9415 seconds.

for ($i = 0; $i < 10; $i++)
	$GLOBALS['dummy2'] = in_array($i * 20, $GLOBALS['dummy']);

The second test, “key”, it took 0.1269 seconds.

for ($i = 0; $i < 10; $i++)
	$GLOBALS['dummy2'] = isset($GLOBALS['dummy'][$i * 20]);

keyが約8倍速いです。これは凄い。

例3.== vs. ===

==は値の一致。===は形の一致まで見ます。

The first test, “==”, it took 1.012 seconds.

for ($j = 0; $j < 100; $j++)
	$GLOBALS['dummy3'] = $GLOBALS['dummy1'] == $GLOBALS['dummy2'];

The second test, “===”, it took 0.1161 seconds.

for ($j = 0; $j < 100; $j++)
	$GLOBALS['dummy3'] = $GLOBALS['dummy1'] === $GLOBALS['dummy2'];

===が約9倍速い・・・。これは驚きですね!

まとめ

いろいろと試せそうなので、Benchmarksはおすすめです!

-Web制作

執筆者:


comment

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

関連記事

[Meisyo]各選手の試合成績の追加

試合成績を追加しました。 んーでもこれ・・・スマホだと右端見えるのか?

no image

まとめ読み バージョン1.1.0のリリース

フリーソフト「まとめ読み」バージョン1.1.0のリリースを行いました。 まとめ読み ダウンロードページ 変更点 対象をPHP5.3.7以上に変更 読み込み速度および安全性の確保 SplClassLoa …

no image

PHPのコーディング規則、PSRを学ぶ(2)

PHPのコーディング規則、PSRを学ぶ(1)の続きです。 今回は基本中の基本、文字コードと改行コードを設定します。 自宅サーバーで試します。(自宅サーバーの作り方はこちら) そのための基本設定も行いま …

(VPSでつくる) Python仮想環境venvの導入

連載第五回目です。 前回の4. Pythonのバージョンを3.Xにする記事で、Pythonのバージョン管理をディレクトリごとに行えるようになりました。 ただし、アプリごとにモジュールのバージョンは変え …

no image

iPhoneアプリを開発してみよう

最近ずっとiPhoneアプリで遊んでて、 「なんか頭使うゲームないな?」と思い(”本質的には育成ゲー”が多すぎてゲンナリ) 「複数人でのRTS」があればな~と。 「他ゲーに文句 …