在linux中加载一个二进制文件的时间

我有一个普遍的“感觉”,应用程序在Windows上打开比在Linux上更快。 我知道这太模糊/不科学,但如果我要比较一下应用程序的加载时间,例如Windows和Linux上的VLC,我该怎么办? 另外,我想研究Windows和Linux在二进制文件中使用的加载机制的差异,所以任何引用都将非常感谢。

Linux加载器可以给你很多有关绑定过程的信息。

LD_DEBUG=help ls 

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

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

Windows所做的一件事就是在启动后立即开始加载一个经常使用的DLL和应用程序列表到文件缓存中。 这被称为SuperFetch,它工作得很好。

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

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

 echo 3 > /proc/sys/vm/drop_caches 

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