#include <iostream>
#include <unordered_map>
#include <map>
#include <set>
static const int LOOP = 10000000;
void test_set() {
// 5.932s
std::set<int>test_set;
for (int i = 0;i < LOOP;i++) {
test_set.insert(i);
}
for (int i = 0;i < LOOP;i++) {
test_set.find(i);
}
}
void test_map() {
// 6.455s
std::map<int, int>test_map;
for (int i = 0;i < LOOP;i++) {
test_map[i] = i;
}
for (int i = 0;i < LOOP;i++) {
test_map.find(i);
}
}
void test_unordered_map() {
// 2.675s
std::unordered_map<int, int>test_map;
for (int i = 0;i < LOOP;i++) {
test_map[i] = i;
}
for (int i = 0;i < LOOP;i++) {
test_map.find(i);
}
}
int main() {
//test_set(); // 9.248s
//test_map(); // 9.387s
test_unordered_map(); // 3.223s

return 0;
}