diff options
author | David Robillard <d@drobilla.net> | 2007-08-05 06:24:58 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-08-05 06:24:58 +0000 |
commit | f4fd64545cc0ddd3ef81f9b79e3568090860590a (patch) | |
tree | 5fa34b7f7810c799623ca222a388a9b58fd44ac5 | |
parent | 9f14a7d7cd2c8eb29af3e6cd4b6e06b71ca8c28a (diff) | |
download | raul-f4fd64545cc0ddd3ef81f9b79e3568090860590a.tar.gz raul-f4fd64545cc0ddd3ef81f9b79e3568090860590a.tar.bz2 raul-f4fd64545cc0ddd3ef81f9b79e3568090860590a.zip |
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
-rw-r--r-- | tests/table_test.cpp | 19 |
1 files 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<int> values(n); + vector<string> 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<int,int> m; + std::map<string,int> 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<int,int> t(n); + Raul::Table<string,int> 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); |