vs2010下关于vector和动态数组的效率区别

本文探讨了在VS2010环境下,vector与动态数组在Debug和Release模式下的效率差异。在Debug模式下,vector的运行时间大约是动态数组的50倍,而在Release模式中,这个差距缩小到两倍。尽管Release模式下vector的效率有所提升,但在对性能要求严格的场景中,推荐使用动态数组。
摘要由CSDN通过智能技术生成

之前在做acm的一道两路合并排序时一直运行超时,原因就在于我习惯使用vector来存储数据。而vector和动态数组在效率上是存在区别的,所以在这里就讨论一下两者的效率。

从网上资料看在vs中debug和release模式下vector的运行时间存在差别,而对于数组 而言没有变化,且总的来说数组效率高于vector。对于stl而言不同的编译器效果不同,下面都是用vs2010进行测试。

Debug模式下的测试结果是:


基本上vector的运行时间是动态数组的50倍左右。

Release模式下的测试结果是:


vector的运行时间是动态数组的两倍左右。且相比debug模式下运行时间均有显著提高。

结论:至少在vs2010中vector的运行效率是低于动态数组的。因此在对效率要求较高的情况下建议使用动态数组。

附测试代码:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值