回 帖 发 新 帖 刷新版面

主题:影响程序计算快慢的因素

1,未知量多 2,循环多  3,子程序多了会不会让程序变慢啊??

回复列表 (共17个回复)

沙发

1. 什么叫未知量?
2. 循环的个数影响不大,循环终止条件和嵌套层数,以及循环体执行量会影响。
3. 会影响,但要综合考虑,为了让程序更有条理,更易读,易于维护,还是应该合理的使用子程序。

板凳

影响程序性能的因素确实很多. 例如能不能利用上cpu的矢量计算, cache是使用情况对性能影响都很大.

3 楼

编译器好像也影响程序的快慢,以前用CVF6.6,后来考虑openmp,结果CVF不支持,
改了IVF后,openmp还没加呢,结果计算速度比在CFV6.6快了6倍多,太意外了
也是一个意外的惊喜!
我用的是32位系统,不知道64位会怎么样!

4 楼

楼上, 你不会是把cvf6.6的debug模式跟ivf的release比较吧?

5 楼

呵呵,我对编译器懂的不多,cvf6.6用的是debug模式
因为用Microsoft visual studio 2008感觉挺麻烦的,所以用的是IVF的命令模式
是不是这样比不公平?
cvf6.6一般我都默认用debug模式,只有那种只能用release模式的,我才修改一下
如有不妥,请高手扫盲,我都自己摸索着用的,呵呵

6 楼

[quote]呵呵,我对编译器懂的不多,cvf6.6用的是debug模式
因为用Microsoft visual studio 2008感觉挺麻烦的,所以用的是IVF的命令模式
是不是这样比不公平?
cvf6.6一般我都默认用debug模式,只有那种只能用release模式的,我才修改一下
如有不妥,请高手扫盲,我都自己摸索着用的,呵呵
[/quote]
那你看使用的是什么编译开关
ivf默认什么都不加时,优化开关应该为/O1

7 楼


我刚才用cvf6.6的release模式,好像程序运行也快了不少

[em21]以前居然不知道!

8 楼

[quote]1. 什么叫未知量?
2. 循环的个数影响不大,循环终止条件和嵌套层数,以及循环体执行量会影响。
3. 会影响,但要综合考虑,为了让程序更有条理,更易读,易于维护,还是应该合理的使用子程序。[/quote]

我的程序是N*N的循环,我就经常把N称为未知量了。
十几个子程序应该不会影响速度吧

9 楼

[quote]
我刚才用cvf6.6的release模式,好像程序运行也快了不少

[em21]以前居然不知道![/quote]


这句话感觉像是在为release打广告,哈哈。
据说确实用release比debug快不少,但就是用不习惯。

10 楼

是不是Compaq里只有debug模式,Microsoft 除了有debug还有realease啊?

我来回复

您尚未登录,请登录后再回复。点此登录或注册