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]速球の地位向上

[Meisyo]ビッグデータから学ぶ試合の基礎設計4から早4か月。 「速球の上方修正してほしいな」というコメントが届きました。 すみません! 制球に比べ、速球は蔑ろにされてきたことはわかっております。 …

[SQL]URLから正規表現でホストの抽出

他のサイトの説明が釈然としなかったので投稿。 以下のref0~2番のホストを抽出したいとする。 ref[0] = "http://www.other.com/path1/index …

no image

SSH、SSHクライアントって何?

SSH?SSHクライアント?となり挫折しそうな、または挫折してしまった方への案内書になります。私がさくらサーバーにopenPNEとそのプラグインを入れる時に陥ったので、後学のためにも書き残しておきます …

[Meisyo]練習難易度の不均衡是正への分析的アプローチ2

[Meisyo]練習難易度の不均衡是正への分析的アプローチから早3か月。 「練習ごとに難易度が違いすぎるんですけど!!」という不満は少しは解消されたかなー・・・ 効果測定してないのにわかるの?エスパー …

手書き数字診断士(機械学習)を作り始めました

Python(Flask)+機械学習の勉強がてら、「手書き数字診断士」を作っています。 元ネタは2chの中小企業診断士です。 「う~ん、これは中小企業!w」 やること 1・index.html  1. …