C++ Mac OS 10.6上boost::xpressive的编译时间过长
我们使用boost::xpressive在C++/ObjC应用程序中处理正则表达式。自从Mac OS 10.6更新以来,我们发现编译时间非常长(双四元MacPro上的每个文件(!)需要1-2分钟),其中表达式是通过sregex::compile()定义和编译的。此外,整个系统的性能降低,导致不负责任的应用程序;对于所有其他文件,编译按预期运行 在10.5和10.6上使用的编译器都是gcc4.2。您是否有类似的经验和/或建议?有没有办法使用PCHs来防止这种情况 感谢和问候C++ Mac OS 10.6上boost::xpressive的编译时间过长,c++,macos,boost,compilation,C++,Macos,Boost,Compilation,我们使用boost::xpressive在C++/ObjC应用程序中处理正则表达式。自从Mac OS 10.6更新以来,我们发现编译时间非常长(双四元MacPro上的每个文件(!)需要1-2分钟),其中表达式是通过sregex::compile()定义和编译的。此外,整个系统的性能降低,导致不负责任的应用程序;对于所有其他文件,编译按预期运行 在10.5和10.6上使用的编译器都是gcc4.2。您是否有类似的经验和/或建议?有没有办法使用PCHs来防止这种情况 感谢和问候 Matthias在许多
Matthias在许多编译器中,使用模板化模板(这就是boost的全部内容(好的,不仅如此,还有很多内容))速度非常慢。这会导致Boost.Spirit、Boost.Expressive和其他文件的编译时间过长。已知问题,Boost邮件列表上的常规主题 你可以
- 阅读文档并希望得到提示(一些boostlib确实有这样的文档记录)
- 也许Boost.Regex有更好的编译时间
- 确保您仅在.cpp文件中使用这些内容-如果您在头文件中使用这些内容,则编译时间将在“不相关”文件中受到影响
- 将Boost.Expressive代码分离到单独的.cpp文件中
- 希望下一个g++版本能够更好地处理模板化代码
boost::overside
,是有原因的。(SCNR)您是否尝试过boost::quickercompile?