FB 9.0 AMD64,用clang编译内核比gcc慢2分钟

2012-01-18 11:39:56 +08:00
 likuku
freebsd 9.0 release amd64,用clang来编译核心 -j5 速度却比gcc -j5 慢2分钟。

每次编译前,均清理过/usr/src和清空/usr/obj/* ,4G RAM,Intel E6550

貌似之前都是说clang/lvmm效率和速度要比gcc快很多嘛。
5824 次点击
所在节点    FreeBSD
4 条回复
madeye
2012-01-18 12:20:31 +08:00
为啥双核的CPU要用j5的参数?
likuku
2012-01-18 13:25:40 +08:00
@madeye 传统吧,-j n(n=cores *2 +1)
likuku
2012-01-18 13:29:57 +08:00
[我们提供了一个试验性的功能, 可以在构建过程中为 make 指定 -j 参数, 令其在构建过程中同时启动多个并发的进程。 对于多 CPU 的机器而言, 这样做有助于发挥其性能。 不过, 由于编译过程中的瓶颈主要是在 IO 而不是 CPU 上, 因此它也会对单 CPU 的机器带来好处。

  对典型的单 CPU 机器, 可以使用:

# make -j4 buildworld
  这样, make(1) 会最多同时启动 4 个进程。 从发到邮件列表中的经验看, 这样做能带来最佳的性能。

  如果您使用的机器有多颗 CPU, 并且配置了 SMP 的内核, 也可以试试看 6 到 10 的数值, 并观察是否能带来构建性能上的改善。
]

from :
http://www.freebsd.org/doc/zh_CN.GB2312/books/handbook/makeworld.html
madeye
2012-01-18 14:34:31 +08:00
@likuku 传统上是从你的核心数开始,每次加1,直到获得最好的性能。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/25787

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX