作者Killercat (杀人猫™)
看板C_and_CPP
标题Re: [问题] 程式最佳化
时间Fri Mar 27 03:52:43 2009
※ 引述《dcgkii ()》之铭言:
: 有没有书籍或网站是专门在讲
: 程式的最佳化啊?
: 就是可以使编译後的组语更快?
最佳化来讲 "我们能做的"大概就是只有thread opt跟openMP而以了
剩下的不是要_asm就是要交给编译器来做
有几个最佳化的点我可以聊一下
1. 良好的写作习惯
能++n就不要n++ 能+=就不要+
能一次回圈内做完的就不要分两个回圈(不过这个在最佳化有不少例外)
2. 利用一些third party library
比方说Intel出的IPP/MKL(恩 效能要用钱来换)
3. 买很棒的IDE并且遵照他的作法
又是Intel, IC(Intel Compiler)
4. OpenMP
这个是你可以google的东西,在很多IDE上都有支援
效能增加非常可观
5. Thread opt
这是一个很复杂的议题,thread本身是有最佳化解法的
市面上也有些现成的(恩 也有要钱的)library
比方说TBB(有免费版本的OpenTBB,
http://www.threadingbuildingblocks.org/ )
Boost本身也有thread pool manager,openMP3.0的task manager
原理的话就自己google了,其实除了1以外
大多数都是把很多个相同的算式合在一次运算里面做掉以避免浪费
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.168.75.5
1F:推 sunneo:推intel的ipp 03/28 23:50