V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
likuku
V2EX  ›  FreeBSD

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

  •  
  •   likuku · 2012-01-18 11:39:56 +08:00 · 5756 次点击
    这是一个创建于 4482 天前的主题,其中的信息可能已经有所发展或是发生改变。
    freebsd 9.0 release amd64,用clang来编译核心 -j5 速度却比gcc -j5 慢2分钟。

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

    貌似之前都是说clang/lvmm效率和速度要比gcc快很多嘛。
    4 条回复    1970-01-01 08:00:00 +08:00
    madeye
        1
    madeye  
       2012-01-18 12:20:31 +08:00
    为啥双核的CPU要用j5的参数?
    likuku
        2
    likuku  
    OP
       2012-01-18 13:25:40 +08:00
    @madeye 传统吧,-j n(n=cores *2 +1)
    likuku
        3
    likuku  
    OP
       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
        4
    madeye  
       2012-01-18 14:34:31 +08:00
    @likuku 传统上是从你的核心数开始,每次加1,直到获得最好的性能。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2869 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:56 · PVG 19:56 · LAX 04:56 · JFK 07:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.