代码之家  ›  专栏  ›  技术社区  ›  Phil Miller

不同g++版本生成的代码基准

  •  1
  • Phil Miller  · 技术社区  · 16 年前

    我为一个对性能非常敏感的应用程序域工作一个运行时系统。为了保持与旧版本编译器的向后兼容性,我们做了很多工作,包括避免最近实现的语言构造,并为旧版本合成它们。

    然而,我担心这项工作会对我们的用户造成损害,使他们能够继续使用编译器版本,这会使他们付出巨大的性能代价。不幸的是,我还没有找到跨版本执行性能的真正比较。如果有人有这个问题的报告的链接,请张贴。

    我真的很想看到涵盖广泛发行版(如果你能回到3.2,那太棒了)和应用程序/测试的基准测试

    1 回复  |  直到 16 年前
        1
  •  2
  •   LiraNuna    16 年前

    有点老了,但仍然显示了GCC的进步: This benchmark 显示了GCC4.4及其新的寄存器分配器(IRA)和对优化的关注使得它几乎和ICC一样强大(ICC被认为是最具攻击性的优化器)。

    我强烈建议使用GCC4.4[.1]。

    如果您使用的是Windows,并且使用的是MingW3.4.x,那么现在就应该升级,因为那个特定的端口有相当大的错误,并且会生成可怕的代码。