/**
* コードイグナイター
*
* PHP 5.1.6 以降用のオープンソース アプリケーション開発フレームワーク
*
* @package CodeIgniter
* @author ExpressionEngine 開発チーム
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since バージョン 1.0
* @filesource
*/
// ----------------------------------------------- --- --------------------------
/**
* CodeIgniter ベンチマーク クラス
*
* このクラスでは、ポイントをマークしたり、時差を計算したりすることができます
* それらの間。 メモリ消費量も表示できます。
*
* @package CodeIgniter
* @subpackage ライブラリ
* @category ライブラリ
* @author ExpressionEngine 開発チーム
* @link http://codeigniter.com/user_guide/libraries/benchmark.html
*/
クラス CI_Benchmark {
/**
* すべてのベンチマークマーカーとその追加時期のリスト
* ベンチマーククラスタグの保存に使用される配列
* @var 配列
*/
var $mark = array();
// ----------------------------------------------- --- --------------------------
/**
* ベンチマークマーカーを設定します
* 设置一个标记点
* この関数への呼び出しは複数回行うことができるため、複数の
* 実行ポイントの時間を設定することができます
*
* @access public
* @param string $name マーカーの名前
* @return void
*/
関数マーク($name)
{
// プログラム内の任意の場所でメソッドを呼び出すと、現在の時点が記録されます。
$this->marker[$name] = microtime();
}
// ----------------------------------------------- --- --------------------------
/**
* マークされた 2 つのポイント間の時間差を計算します。
* 2 つの時間点の間の時間を計算します。
* 最初のパラメータが空の場合、この関数は代わりに
を返します。
* {elapsed_time} 擬似変数虚假变量。これにより、システム全体を利用できるようになります
* テンプレートに表示される実行時間。出力クラスは
* この変数の実際の値を交換します。
*
* @access public
* @param 文字列 特定のマークされたポイント
* @param 文字列 特定のマークされたポイント
* @param integer 小数点以下の桁数
* @return mixed
*/
関数 elapsed_time($point1 = '', $point2 = '', $小数 = 4)
{
*明確な時点が指定されていない場合は、プログラム全体の実行時間が計算されます。
* プログラム全体の実行時間はどのように計算できますか?実際、この計算を実行するのは出力コンポーネントです。
* Benchmark::elapsed_time(); (パラメータなし) を呼び出すと、実際に最初に返されるのは
ではありません
运* プログラム全体が実行中ですが、実質的な戻りは {ELAPSED_TIME} タブであり、その後
です。
* Output が出力を処理するとき、プログラム全体の実行時間が計算されます。これは、出力処理段階でプログラムを表示できるためです
* は最終段階なので合計時間がおおよそ計算でき、出力の {elapsed_time} を置き換えます。
※以下のmemory_usage()の原理も同様です。
if ($point1 == '')
'{elapsed_time}' を返します
}
if ( ! isset($this->mark[$point1]))
戻る '';
}
if ( ! isset($this->mark[$point2]))
$this->marker[$point2] = microtime();
}
//ここで使用される理由は、microTime()の返品値が「msec sec」の形式です。
list($sm, $ss) =explode(' ', $this->mark[$point1]);
list($em, $es) =explode(' ', $this->mark[$point2]);
returnnumber_format(($em + $es) - ($sm + $ss), $Decimals);
}
// ----------------------------------------------- --- --------------------------
/**
* メモリ使用量
*
* この関数は、{memory_usage} 擬似変数を返します。
* これにより、テンプレート内のどこにでも配置できるようになります
* 最後までメモリを計算せずに。
* 出力クラスは、この変数の実際の値を交換します。
* www.2cto.com
* @access public
* @return string
*/
関数memory_usage()
{
return '{memory_usage}';
}
}
// CI_Benchmark クラスを終了します
/* Benchmark.php ファイルの終わり */
/* 場所: ./system/core/Benchmark.php */
http://www.bkjia.com/PHPjc/477730.html
www.bkjia.com
本当
http://www.bkjia.com/PHPjc/477730.html
技術記事 [php] ?php if ( !定義(BASEPATH)) exit(直接スクリプトアクセスは許可されません); /** * CodeIgniter * * PHP 5.1.6以降用のオープンソースアプリケーション開発フレームワーク * * @packag...