我正在开发HFT交易应用程序,它只能在一台机器上运行。所以在编译时我添加-march=native -mtune=native
标志
但是从存储库安装了boost:yum install boost
和yum install boost-devel
如果我下载了boost源并在目标PC上自行编译并启用-march=native -mtune=native
标志,该怎么办?这会加快我的申请吗?是否会有显着的性能提升?如果值得吗?
答案 0 :(得分:2)
理论上。是。但由于提升是高度通用的,因此这种显着性的可能性非常小。
根据我的经验,只需要预先构建的库就可以处理大量静态数据(UNICODE,本地化)和不需要性能的非通用设施
答案 1 :(得分:1)
一般情况下:如果您的应用程序中存在性能问题,请尝试找出问题的确切位置。为此,使用您的工具链进行性能分析。
http://www.thegeekstuff.com/2012/08/gprof-tutorial/
对于您的问题:Boost主要是模板内容,它总是在您的应用程序中包含时编译。在搜索内部库的东西之前,我会检查你的性能真正缺乏的grpof。我认为在编译boost库时启用一些优化标志将没有太大影响。但是你为什么不尝试呢?
答案 2 :(得分:0)
在HFT时间真的很重要。所以你的设计由最好的专业人士审查。让您的代码由您可以获得的最佳专业人士进行审核。切换到最先进的编译器并使用移动语义。设计并发以减少延迟。和个人资料,个人资料,个人资在我漂亮的小实时世界中,在某些时候你足够快速完成。你可能会在微秒内不断奋斗。