Debian的make-kpkg实用程序可以同时构建许多内核片段。设置CONCURRENCY_LEVEL =核心+ 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会被剥夺对包装的任何顾虑。
所以我有一些关于体验内核开发的问题。并发内核是否构成了一个巨大的胜利,并且其他任何发行版都提供它吗?并且正在编译包管理的一个大赢家?
提前致谢。
答案 0 :(得分:1)
CONCURRENCY_LEVEL
的值只传递给-j
的{{1}}选项。 Debian的内核构建过程没有什么特别之处;上游内核源代码多年来一直支持这一点。