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

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

関連記事

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

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

Meisyo+とMeisyoのアクティブ人口比較

野球ゲームMeisyo+リリースから3か月目に入りました。 アクティブ人数(日ごとのログイン人数:DAU)を比較したところMeisyoを超えました。 IP等を見た限り、並行で遊んでいただいている方が多 …

[Meisyo] 練習の不均衡是正

練習に不均衡が生じているので、アップデートで改善します。 ちなみに練習の方法自体を変更しようと思っています。 すぐには実装しません。(案が固まっていないです) 基本的に平均が150より大幅に高い(また …

Flask-Babelを使って、Pythonアプリで多言語対応を行う

Pythonで多言語対応してみたいなーと思っていました。 思っていましたが、実際になかなか使うタイミングがない・・・。 今回自作ゲームでユーザー数の増加がみられ、かつ海外からのアクセスも複数確認できた …

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

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