From ad85be4d0c1a823d496d489ebfe9bf47fca685bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E6=99=93=E8=88=AA?= <1210603696@qq.com> Date: Thu, 23 Oct 2014 10:24:30 +0800 Subject: [PATCH] Update README.md --- README.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/README.md b/README.md index ece975b..9d55e02 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,7 @@ TinySTL * priority_queue:100% * stack:100% * binary_search_tree:100% +* deque:100% #TinySTL测试: ###测试环境:Windows 7 && VS2013 && release模式 @@ -227,4 +228,30 @@ TinySTL |TinySTL::binary_search_tree<int>|100万|828| #######注:真实的插入时间 = 总的插入时间 - C++11随机数生成器生成随机数的总的时间 +####(1):deque<int> + + //std::deque dq; + TinySTL::deque dq; + ProfilerInstance::start(); + const int max = 10000000; + int i = 0; + for (; i != max / 2; ++i){ + dq.push_front(i); + } + for (; i != max; ++i){ + dq.push_back(i); + } + ProfilerInstance::finish(); + ProfilerInstance::dumpDuringTime(); + +|container|quantity|time(ms)| +|---------|--------|--------| +|TinySTL::deque<int>|10万|15| +|TinySTL::deque<int>|100万|78| +|TinySTL::deque<int>|1000万|1186| +|std::deque<int>|10万|90| +|std::deque<int>|100万|1087| +|std::deque<int>|1000万|4835| +#####ps:这个性能差距的原因1是内部实现的机制不同,我的deque是预先分配内存因此相同条件下占用的内存更多,而stl的deque是需要的时候再分配,更加节省内存;2是stl的deque实现了更多更灵活的插入删除操作,我只是实现了在头尾的插入和删除 + -- GitLab