1

我有一种普遍的“感觉”,即应用程序在 Windows 上的打开速度比在 Linux 上的速度快。我知道这太模糊/不科学,但是如果我要比较应用程序的加载时间,例如 Windows 和 Linux 上的 VLC,我会怎么做?此外,我想研究 Windows 和 Linux 用于二进制文件的加载机制的差异,因此非常感谢任何参考。

4

2 回答 2

2

Linux 加载程序可以为您提供有关绑定过程的大量信息。

LD_DEBUG=help ls

有关更多详细信息,请参见ld.so(8)手册页。

于 2011-05-12T19:33:45.450 回答
0

要真正测量这一点,您需要能够在测量之前刷新每个操作系统上的文件缓存。

Windows 所做的一件事是在启动后立即开始将常用 DLL 和应用程序列表加载到文件缓存中。这称为 SuperFetch 并且效果很好。

Linux 发行版有时有一个类似的列表,该列表由名为 readahead 的程序预加载到文件缓存中。Linux 发行版的问题在于,这个列表在安装时是固定的,不会自动更新,所以它通常只包括默认用户桌面、Web 浏览器、电子邮件应用程序等程序。

要在 Linux 上刷新文件缓存,请以 root 身份执行以下命令:

echo 3 > /proc/sys/vm/drop_caches

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

于 2011-05-12T19:51:09.577 回答