/* * Copyright 2010 Tino Didriksen * http://tinodidriksen.com/ */ #ifdef _MSC_VER #define _SECURE_SCL 0 #define _CRT_SECURE_NO_DEPRECATE 1 #define WIN32_LEAN_AND_MEAN #define VC_EXTRALEAN #define NOMINMAX #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include "sti/sset.h" #include "sorted_vector.hpp" #include "sorted_deque.hpp" #include "cycle.h" const size_t N = 1000000; const size_t R = 7; std::vector numbers; void PrintStats(std::vector timings) { double fastest = std::numeric_limits::max(); std::cout << std::fixed << std::setprecision(2); std::cout << "["; for (size_t i = 1 ; i void runTest() { std::vector< std::vector > timings(4); for (size_t r=0 ; r> tmp; numbers.push_back(tmp); } std::cout << "std::set" << std::endl; runTest< std::set >(); std::cout << "std::unordered_set" << std::endl; runTest< std::unordered_set >(); std::cout << "boost::unordered_set" << std::endl; runTest< boost::unordered_set >(); std::cout << "sorted_vector" << std::endl; runTest< sorted_vector >(); std::cout << "sorted_deque" << std::endl; runTest< sorted_deque >(); std::cout << "sti::sset" << std::endl; runTest< sti::sset >(); }