From f4fd64545cc0ddd3ef81f9b79e3568090860590a Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 5 Aug 2007 06:24:58 +0000 Subject: Okay, so it's faster with expensive to compare keys (strings). Justification FTW. git-svn-id: http://svn.drobilla.net/lad/raul@679 a436a847-0d15-0410-975c-d299462d15a1 --- tests/table_test.cpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/tests/table_test.cpp b/tests/table_test.cpp index 3c1462d..c517db1 100644 --- a/tests/table_test.cpp +++ b/tests/table_test.cpp @@ -202,6 +202,13 @@ main(int argc, char** argv) return 0; } +string +random_string() +{ + string ret(40, 'A' + (rand() % 26)); + return ret; +} + void benchmark(size_t n) @@ -212,9 +219,9 @@ benchmark(size_t n) srand(time(NULL)); - vector values(n); + vector values(n); for (size_t i=0; i < n; ++i) - values.push_back(rand() % n*100); + values.push_back(random_string()); timeval t1; t1.tv_sec=0; @@ -227,12 +234,12 @@ benchmark(size_t n) /** std::map **/ - std::map m; + std::map m; gettimeofday(&t1, NULL); for (size_t i=0; i < n; ++i) - m.insert(make_pair(values[i], values[i])); + m.insert(make_pair(values[i], i)); gettimeofday(&t2, NULL); @@ -283,12 +290,12 @@ benchmark(size_t n) /** Raul::Table **/ - Raul::Table t(n); + Raul::Table t(n); gettimeofday(&t1, NULL); for (size_t i=0; i < n; ++i) - t.insert(make_pair(values[i], values[i])); + t.insert(make_pair(values[i], i)); gettimeofday(&t2, NULL); -- cgit v1.2.1