2013-08-19 39 views
1
<?php 
$t1 = microtime(true); 

require("File0.inc"); // size: 7.0 kB 
include("File1.inc"); // size: 30.8 kB 
include("File2.php"); // size: 99.0 kB 
require('File3.php'); // size: 1.6 kB 

echo "{includes: ".(microtime(true) - $t1)." seconds}"; 
?> 

此輸出在0.013秒到0.018秒之間。
這對我來說確實是效率低下,我的代碼(在它之後)在大約0.0002秒內運行。
如何最小化包含文件所需的執行時間?Php包含性能命中

+0

@Joe,如果有50個用戶同時來到,那麼這個問題將會很明顯。 – funerr

回答

1

包含PHP文件需要時間,這是無法解決的。

如果加載時間對您來說真的是一個很大的問題,您可能必須將所有代碼放到一個大文件中。但是,當談到模塊化和代碼質量時,這是一場噩夢,所以您應該真的考慮獲得更快的服務器,而不是這樣做。

同時,您可以嘗試使用memcachedAPC來緩存輸出,以改善加載時間。

+0

如果其中一個文件它只是一個大關聯數組呢? – funerr

+0

將大關聯數組放在基於mem的鍵值存儲區中,如memcached或redis。 – ciruvan

+0

我使用http://il1.php.net/apc,它使性能提高4-5倍,將其添加到答案中,以便其他人可以使用它(告訴他們它是自動的)。 – funerr