我测试了一下STL的性能,这里先给出结果,10月3号之前给出详细测试过程及源码。
陈硕 2001-10-02 06:23:55 我测试了一下STL的性能,这里先给出结果,10月3号之前给出详细测试过程及源码。
测试方法:实现相同功能的三个程序(一个C,两个C++),用三种编译器编译,得9个exe文件,测试执行的时间,多次执行取平均值(时间单位:秒):
Borland C++ Complier 5.5.1
C version : 0.3242
C++ using list : 5.595
C++ using deque : 5.563
Visual C++ 6.0 with Service Pack 5
C version : 0.3945
C++ using list : 1.889
C++ using deque : 137.x (两分多钟,太奇怪了)
GNU C++ 2.95.3 with Cygwin1.dll 1.3.2
C version : 0.3300
C++ using list : 1.700
C++ using deque : 2.582
目前有三点结论:
Borland C++ Complier 5.5.1的STL确实比较差劲
Visual C++ 6.0的deque有问题, 执行时机器传出硬盘狂响曲.
GNU C++ 2.95.3的比较“正常”,但比起设计良好的C程序,STL要慢一些。
由于GNU C++比较正常,可以推论list比deque快。