可以讨论一个编程问题吗?这样写C++代码效率为何这么低?
-
谢谢您的回答!试了一下确实是编译器优化带来的问题,我在linux系统下使用g++编译这串代码,以下分别是优化等级-O0(无优化)、-O1、-O2、-O3时得到的运行速度:
-O0 Time1 = 47.759S Time2 = 29.2934S -O1 Time1 = 16.7366S Time2 = 4.35349S -O2 Time1 = 11.9593S Time2 = 1e-06S -O3: Time1 = 12.2002S Time2 = 0S
可见无优化时虽然我这种使用类的写法也要慢一些,但两者在一个数量级上,优化等级越高,直接使用数组的方法优势就越大了……
编译器的优化好神奇哦!
看来以后还是尽量去用别人写的成熟的函数库吧……