2010/03/10

[PHP, 最適化]スクリプトの開始時間は $_SERVER[’REQUEST_TIME’] で得る。


[追記]2013/01/25
今更以下の情報はさすがに古いです・・・
昔はこういうことがあったんだよと下の世代へお伝え下さい・・・。


よく言われる、「PHPの最適化 12 PHP Optimization tips」が本当か、今更ながら検証してみます。
環境は

  • EeePC 1002HA
  • Ubuntu 9.10
  • Apache/2.2.12 (Ubuntu)
  • PHP Version 5.2.10-2ubuntu6.4
 第5弾は「スクリプトの開始時間は $_SERVER[’REQUEST_TIME’] で得る。」


開始時間はっていうより、date() の基準タイムスタンプとかに使うといい感じだと思う。

<?php
require_once '../../TimeRecorder.php';

$limit = 10000;
$timer = new TimeRecorder(array(
    'function', 'variables'
));

$timer->rec('function');
$tmp = array();
for ($i = 0; $i < $limit; $i++) {
    $tmp[] = time();
}
$timer->rec('function');


$timer->rec('variables');
$tmp = array();
for ($i = 0; $i < $limit; $i++) {
    $tmp[] = $_SERVER['REQUEST_TIME'];
}
$timer->rec('variables');

$timer->display();

結果
array(2) {
  ["function"]=>
  float(0.0408198833466)
  ["variables"]=>
  float(0.020308971405)
} 

まあ当然っちゃあ当然か。
一方は関数呼び出しだし、一方は変数だし。