答案1
与 Google Chrome 相比,feh 的作用并不大。只需比较文件大小和依赖项数量:
$ ls -l /usr/lib/chromium/chromium
-rwxr-xr-x 1 root root 187751032 May 13 05:50 /usr/lib/chromium/chromium
$ ls -l $(which feh)
-rwxr-xr-x 1 root root 207280 Feb 2 21:03 /usr/bin/feh
$ ldd /usr/lib/chromium/chromium | wc -l
178
$ ldd $(which feh) | wc -l
49
此外,Google Chrome 还包含它所依赖的许多开源库的自己的修改版本。它很大,加载需要更长的时间。
答案2
在现代 Unix(包括 Linux)上,大部分程序都是共享库,它们保留在内存中。启动程序时,动态链接器 ( libc.so
) 运行并解析库等。这需要时间,并且程序的大部分内容也必须加载到内存中。添加程序执行的任何初始化(例如重新打开选项卡上显示的网页,...)。此外,如果你连续运行同一个程序两次,内存映像的一部分(至少是共享库)仍然存在,从而加快了进程。如果程序只使用流行的共享库,那么它们可能无论如何都会存在。