再问: STL deque 问题.
xwu 2001-10-04 10:15:50 我的项目中要大量使用 STL 的 deque 来模拟硬件里的 pipeline. 一般来说, 就是先进先出, 但有时也要能随机访问.
我没什么STL 经验. 从网上得知 deque 很慢. 尤其是VC6 的deque. 下面是 : Solstice(胖胖) 的测试数据:
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
还有我从网上找到的Jeff Templon 的数据:
Version 250 MHz R10000 400 MHz PII Source Lines
------- -------------- ----------- ------------
C 0.36 sec 0.30 sec 150
Java 4.9 9.2 105
C++/STL/deque 2.6 11.2 70
C++/STL/list 1.7 1.5 70
Awk 2.2 2.1 20
Perl 1.8 1.0 18
值得注意的是他们用的都是Kernighan and Pike 书上的例子.
由于STL deque 的功能对于我的项目非常合适, 我很想用. 但如果他的效率真的这么慢那就不得不放弃了.
大家有什么好的建议吗?