2013-05-20 19 views
0

對不起,如果這個問題有什麼問題。我正在開發網站。但在我的腦海裏,關於文件系統有一種令人困惑的情況。選擇從少數嵌套目錄或深層嵌套目錄加載文件?例如:網站和PHP:其執行速度更快。從幾個目錄加載文件與許多目錄?

A. file_get_contents('layout/guest/pages/home/data/slogan.txt'); 
    include_once 'layout/guest/required/front.php'; 

OR 

B. file_get_contents('layout/slogan.txt'); 
    include_once 'layout/front.php'; 

哪種執行速度更快?

我擔心這一點,因爲有很多的網站內的文件系統操作。如果我們看一下FileZilla操作,就會發現加載許多嵌套目錄需要更多時間。但我不知道,我希望你的幫助。 感謝您對您的所有幫助:)

+0

從C:\或從C:\ Users \ Jahe \ My Documents \ Misc \ ..打開文件時速度更快嗎? – user2246674

+0

filezilla中的性能問題通過FTP協議1以及文件和目錄列表引起。 – Stony

+0

@ user2246674:手動,從C:\打開很快。但我不知道系統怎麼做 –

回答

2

假設您使用的是基於UNIX的操作系統,則幾乎沒有什麼區別,所以您應該使用您認爲容易維護的內容。 FTP是一個完全不同的情況,因爲它實際上像人類一樣跨越目錄(它不能訪問你的inode)。

由於how inodes work,您的操作系統不會一個接一個地尋找對另一個文件的引用。存在目錄可以讓你的生活更輕鬆,但大多數文件系統不會將其內部表現爲組織文件以外的任何內容。

您將通過啓用dir_indexinstructions)在你的廣度EXT x文件系統中獲得的文件系統的性能提升(或者,check out XFS因爲它有大量的文件打交道時,真的很不錯),定期清理文件,整理磁盤,使用更快的驅動器。

另外,在加載文件時,請嘗試使用require_once()而不是require(),因爲這樣文件將只加載一次。

+0

謝謝你的建議,曼 –

1

嵌套多深的目錄都使得幾乎沒有任何區別。只有您包含的文件的數量,大小和複雜性很重要,而不是包含它們的特定路徑。

+0

真的嗎?我不知道這種情況。 –

0

我想你擔心錯誤的問題。

,取決於您所使用的操作系統上,有可能使用多個目錄,而不是一個輕微的開銷 - 操作系統需要檢查權限等。然而,在現代硬件上,你很難推來衡量影響和緩存在操作系統級別幾乎肯定會消除任何顯着的影響。

您在問題中顯示的結構顯示了一種將文件放在合理位置的考慮方法 - 幾乎可以肯定,從維護性的角度來看,這比將所有文件集中在同一目錄中要好。

在另一方面,有絕對some performance impact與include()和它的朋友。

+0

謝謝!所以這不會有重大影響? –

+0

不,嵌套目錄的性能影響可能太小而無法衡量。 –