1 | #include <cstdlib>
|
---|
2 | #include <boost/unordered_map.hpp>
|
---|
3 | #include <tr1/unordered_map>
|
---|
4 | #include <iostream>
|
---|
5 |
|
---|
6 | #define YES 1
|
---|
7 | #define NO 0
|
---|
8 | #define USE_BOOST_UMAP YES
|
---|
9 |
|
---|
10 | #if USE_BOOST_UMAP == YES
|
---|
11 | boost::unordered_map<int, int>::iterator it;
|
---|
12 | boost::unordered_map<int, int> map;
|
---|
13 | #else
|
---|
14 | std::tr1::unordered_map<int, int>::iterator it;
|
---|
15 | std::tr1::unordered_map<int, int> map;
|
---|
16 | #endif
|
---|
17 |
|
---|
18 | int main(int argc, char** argv) {
|
---|
19 |
|
---|
20 | std::cout << "max load factor: " << map.max_load_factor() << std::endl;
|
---|
21 |
|
---|
22 | for (int i = 0; i < 8; i++) {
|
---|
23 | std::cout << "load_factor: " << map.load_factor() << std::endl;
|
---|
24 | std::cout << "size: " << map.size() << std::endl;
|
---|
25 | std::cout << "bucket_count: " << map.bucket_count() << std::endl;
|
---|
26 |
|
---|
27 | map[i] = i;
|
---|
28 |
|
---|
29 | if (i == 5) {
|
---|
30 | it = map.find(0);
|
---|
31 | }
|
---|
32 |
|
---|
33 | }
|
---|
34 |
|
---|
35 | while (it != map.end()) {
|
---|
36 | std::cout << it->second << std::endl;
|
---|
37 | it++;
|
---|
38 | }
|
---|
39 |
|
---|
40 | return 0;
|
---|
41 | }
|
---|
42 |
|
---|
43 | /*****Results with boost::unordered_map*****/
|
---|
44 | /*
|
---|
45 | max load factor : 1
|
---|
46 | load_factor : 0
|
---|
47 | size : 0
|
---|
48 | bucket_count : 16
|
---|
49 | load_factor : 0.0625
|
---|
50 | size : 1
|
---|
51 | bucket_count : 16
|
---|
52 | load_factor : 0.125
|
---|
53 | size : 2
|
---|
54 | bucket_count : 16
|
---|
55 | load_factor : 0.1875
|
---|
56 | size : 3
|
---|
57 | bucket_count : 16
|
---|
58 | load_factor : 0.25
|
---|
59 | size : 4
|
---|
60 | bucket_count : 16
|
---|
61 | load_factor : 0.3125
|
---|
62 | size : 5
|
---|
63 | bucket_count : 16
|
---|
64 | load_factor : 0.375
|
---|
65 | size : 6
|
---|
66 | bucket_count : 16
|
---|
67 | load_factor : 0.4375
|
---|
68 | size : 7
|
---|
69 | bucket_count : 16
|
---|
70 | 0
|
---|
71 | */
|
---|
72 | /*****************************************/
|
---|
73 |
|
---|
74 | /*****Results with std::tr1::unordered_map*****/
|
---|
75 | /*max load factor : 1
|
---|
76 | load_factor : 0
|
---|
77 | size : 0
|
---|
78 | bucket_count : 11
|
---|
79 | load_factor : 0.0909091
|
---|
80 | size : 1
|
---|
81 | bucket_count : 11
|
---|
82 | load_factor : 0.181818
|
---|
83 | size : 2
|
---|
84 | bucket_count : 11
|
---|
85 | load_factor : 0.272727
|
---|
86 | size : 3
|
---|
87 | bucket_count : 11
|
---|
88 | load_factor : 0.363636
|
---|
89 | size : 4
|
---|
90 | bucket_count : 11
|
---|
91 | load_factor : 0.454545
|
---|
92 | size : 5
|
---|
93 | bucket_count : 11
|
---|
94 | load_factor : 0.545455
|
---|
95 | size : 6
|
---|
96 | bucket_count : 11
|
---|
97 | load_factor : 0.636364
|
---|
98 | size : 7
|
---|
99 | bucket_count : 11
|
---|
100 | 0
|
---|
101 | 1
|
---|
102 | 2
|
---|
103 | 3
|
---|
104 | 4
|
---|
105 | 5
|
---|
106 | 6
|
---|
107 | 7
|
---|
108 | */
|
---|
109 | /*****************************************/
|
---|