|
发表于 2005-11-29 11:29:39
|
显示全部楼层
呵呵,
以前看的帖,翻过来贴一下,并非本人观点.
自动优化选项什么时候真正有用过?
象这类
for(k=0;k<count;k++)
for(i=0;i<10000;i++)
for(j=0;j<10000;j++)
的程序,
编译器优化把原来该放到数据区的数,放到寄存器中去,并采用最短执行时间的跳转命令.
需要经常调用的大运算量的算法,想办法让它长驻一级CACHE中.假如是并行算法,且有多处理器,则用多线程同时协调运算,提升线程优先级,提升线程CPU占有率等等方法.
即使不用O2/O3都可以设定的.
真的对速度要求很高的地方,
几乎见不到有人企图利用编译器的优化选项去获得更高的性能,
多数需要自己动手优化算法和简化程序结构.
在对代码或数据空间要求很高的地方(譬如那些需要在一级高速缓存运行的代码和数据,其实也是对速度要求高的程序和数据了),
又有谁打算用编译器的优化选项去优化? |
|