include 或者 require 貌似都很慢
我一個頁面執行時間10ms
include 12個檔案佔了 5ms
換成require依舊
是否可破?
------解決方案--------------------
放到一個檔案裡
------解決方案--------------------
放到一個檔案裡去試試。
------解決方案--------------------
看看apache的日誌以及php的日誌,看看有沒有給你提供點有用的資訊
------解決方案--------------------
客觀地說,
你10個檔案就0.5ms,那zf/yii等架構,載入幾百個,那豈不是1s的樣子了?
所以我建議你先找找你被include的檔案裡,是不是有執行某個動作。一個一個檔案的去查
而不是去挑php內建函數的問題。
------解決方案--------------------
看一下伺服器磁碟是不是有問題了。測一下讀寫速度之類的。
------解決方案--------------------
引用:
引用:客觀地說,
你10個檔案就0.5ms,那zf/yii等架構,載入幾百個,那豈不是1s的樣子了?
所以我建議你先找找你被include的檔案裡,是不是有執行某個動作。一個一個檔案的去查
而不是去挑php內建函數的問題。
麻煩認真看貼再吐槽
上面說了(8樓),我把所有被包含的檔案合成一個,並擷取自身執行時間,約為0.05……
那你都確定所包含的檔案都沒有執行任何東西,只是純包含檔案都需要這麼多時間,那隻能說是php 的include效率低下了。
方法有很多,你可以一個檔案一個的去掉包含,有些東西不是計算每個檔案時間來確定的。
當然也要把錯誤全部開啟。
------解決方案--------------------
你測試的是對的,負載檔案是要花時間的!
不僅要從檔案系統中找到檔案並載入的記憶體,而且還要調用文法分析模組來判定代碼的合法性
所以#2我讓你合并到一個檔案中去
當然你必須注意到
$time_start=microtime(true);
是在程式開始運行時才有效
而 php 實際開始工作(載入php程式)的時間還要早一些
$_SERVER['REQUEST_TIME'] 請求開始時的時間戳記
php 5.4 還提供了更精確的
$_SERVER['REQUEST_TIME_FLOAT']
------解決方案--------------------
包含總是慢的,不論什麼語言
即使是html+css兩個檔案和一個html內寫css,在本地測試都有區別,只不過網路傳送耗時把載入耗時蓋掉了
編譯語言在編譯時間處理掉了載入的問題
但解析語言載入就不能無視這個問題,不要把編譯語言那套騰挪過來
不然寫一個超大檔案,裡面成百上千個類,一次include就夠了,呵呵
我平時寫的習慣是拆分類,按需載入
早期的時候我甚至用php來寫css,輸出儘可能少,看著一個上百k的css檔案我就累
但現在網路速度提高了,甚至幾百k的整站css發送都不成問題了
------解決方案--------------------
昨天我做了一個測試,同樣的代碼windows下執行800毫秒,而linux下執行只需要120毫秒
------解決方案--------------------
是快很多,不是一些