include 或許 require 貌似都很慢

來源:互聯網
上載者:User
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毫秒
------解決方案--------------------
是快很多,不是一些
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.