2013-03-22 105 views
-1

我是Codeigniter的新手。我幾天前在WAMP(PHP 5.4.3)上安裝了CI 2.1.3。 我創建了我的基本佈局並啓用了分析器。Codeigniter分析器執行時間錯誤?

當分析器啓用它給我,下次執行時間:

裝載時間:基類0.0228
執行時間控制器(佈局/索引)0.0239
總執行時間0.0468

我決定在旁邊的視圖文件中包含如何準確探查器:

$ time = microtime(true) - $ _SERVER [「REQUEST_TIME_FLOAT」];
echo $ time;

的上述的輸出是:0.064446926116943

現在是絕對不等於CI探查。

我錯過了什麼嗎? CI Profiler是否準確?

回答

0

CI Profiler實際上並沒有進行測量,它是測量的基準庫。它通過在添加標記時使用microtime()來獲取時間戳來度量每個基準。分析器然後計算開始和結束標記之間的差異。

由於第一個基準設置之前的初始化時間不同,

您可以看到第一個基準測試的源代碼在哪裏。這是在文件系統/核心/ codeigniter.php在行108:

$BM =& load_class('Benchmark', 'core'); 
$BM->mark('total_execution_time_start'); 
$BM->mark('loading_time:_base_classes_start'); 

當然有媒體鏈接文件加載之前的代碼是跑了,所以這就是區別在哪裏得來的。

+0

那麼這是否意味着初始化時間將總是與基準類加載到某個偏移量時相同? – cjrb 2013-03-22 21:51:54

+0

我會這麼說,除非服務器處於壓力之下或導致代碼運行速度較慢 – Zombaya 2013-03-26 18:52:09