2011-05-12 81 views
1

我有一種普遍的「感覺」,即應用程序在Windows上打開的速度比在Linux上快。我知道這太模糊/不科學,但如果我要比較應用程序的加載時間,例如Windows和Linux上的VLC我該怎麼辦?另外,我想研究windows和Linux爲二進制文件使用的加載機制的差異,所以任何引用都將非常感謝。Linux中的二進制文件加載時間

回答

2

Linux加載程序可以爲您提供有關綁定過程的大量信息。

LD_DEBUG=help ls 

有關更多詳細信息,請參見ld.so(8)手冊頁。

+0

剛剛用LD_DEBUG_OUPUT設置測試了命令。我在VLC上測試了它,並生成了一個包含50萬行的大型52MB文件。這是正常的行爲嗎? – Jamil 2011-05-13 14:02:37

0

要真正衡量這一點,您需要能夠在測量之前刷新每個OS上的文件緩存。

Windows所做的一件事就是在啓動後立即開始將經常使用的DLL和應用程序列表加載到文件緩存中。這被稱爲SuperFetch,它工作得很好。

Linux發行版有時會有一個類似的列表,它被一個名爲readahead的程序預加載到文件緩存中。 Linux發行版的問題在於,此列表在安裝時是固定的,並且不會自動更新,因此通常只包括諸如默認用戶桌面,Web瀏覽器,電子郵件應用程序等程序。

要刷新在Linux上執行以下命令:

echo 3 > /proc/sys/vm/drop_caches 

刷新Windows上的文件緩存?我不知道,我需要看。