您的位置:首页 > 产品设计 > UI/UE

std::priority_queue的性能

2011-08-31 14:35 1886 查看
    一直以我对std::priority_queue的感觉是性能不高,因为公司一个产品在实现定时器队列的时候使用了std::multimap,为什么不用std::priority_queue,可能是由于性能不高

吧,随便下了一个结论就没有深入去思考了。

    今天有时间做了一个实验,结果出乎所料,以下是测试结果:





从上面的测试结果可以得出以下的结论:

1)在push操作的时候map和set的实现效率是一样的,三者中priority queue的效率最好;

2)在pop操作的时候map和set的实现效率是一样的,当测试的规模在100000以下的时候priority queue的效率还是最好的,当大于100000的时候priority queue的效率开始变差

3)总结论:由于在产品运行的场景中队列中存储的对象个数在100000以下,所以使用std::multimap问题不大,但是从这里的分析并结合使用中的方便性来看,选择priority queue似乎是一个更好的选择。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  测试 产品 存储