【发布时间】:2014-01-26 21:41:47
【问题描述】:
Debian 的 make-kpkg 实用程序可以同时构建许多内核部分。设置 CONCURRENCY_LEVEL=cores+1 是获得最佳性能的一般经验法则。这不是一个糟糕的猜测。
我为各种整数编写了这个脚本。这是八核 Xeon 上的内核编译时间。内核配置是 Debian 内核 3.12 软件包的默认配置。
CONCURRENCY_LEVEL=1 real 57m17.953s
CONCURRENCY_LEVEL=2 real 30m26.084s
CONCURRENCY_LEVEL=3 real 21m39.387s
CONCURRENCY_LEVEL=4 real 17m13.022s
CONCURRENCY_LEVEL=5 real 14m41.180s
CONCURRENCY_LEVEL=6 real 13m8.875s
CONCURRENCY_LEVEL=7 real 12m8.646s
CONCURRENCY_LEVEL=8 real 11m55.420s
CONCURRENCY_LEVEL=9 real 13m27.034s
CONCURRENCY_LEVEL=10 real 14m17.753s
CONCURRENCY_LEVEL=11 real 14m45.664s
CONCURRENCY_LEVEL=12 real 15m1.784s
CONCURRENCY_LEVEL=13 real 15m10.595s
CONCURRENCY_LEVEL=14 real 15m19.862s
CONCURRENCY_LEVEL=15 real 15m24.915s
make-kpkg 还会生成一个可以轻松安装的 deb 包文件。相比之下,至少有一个官方的 Fedora 文档经历了手动构建 RPM 的广泛过程,以实现我认为的相同目标 - 自动依赖解析。这很痛苦。我怀疑 Gentoo 会被剥夺对软件包的任何关注,呵呵。
所以我有几个问题想问有经验的内核开发者。并发内核构建了一个巨大的胜利,并且任何其他发行版都提供它吗?考虑到包管理的编译是一个巨大的胜利吗?
提前致谢。
【问题讨论】: