|
unordered_map四种插入效率的对比
- clock_t start = clock();
- int numbers = 1000000;
- std::unordered_map<int, string> a1;
- for (int i = 0; i < numbers; ++i)
- {
- a1.insert(pair<int, string>(i, "tkl"));
- }
- clock_t finish = clock();
- ECHO("a1: %f\n", (double)(finish - start) / CLOCKS_PER_SEC);
- start = clock();
- std::unordered_map<int, string> a2;
- for (int i = 0; i < numbers; ++i)
- {
- a2.insert(make_pair(i, "tkl"));
- }
- finish = clock();
- ECHO("a2: %f\n", (double)(finish - start) / CLOCKS_PER_SEC);
- start = clock();
- std::unordered_map<int, string> a3;
- for (int i = 0; i < numbers; ++i)
- {
- a3.insert(std::unordered_map<int, string>::value_type(i, "tkl"));
- }
- finish = clock();
- ECHO("a3: %f\n", (double)(finish - start) / CLOCKS_PER_SEC);
- start = clock();
- std::unordered_map<int, string> a4;
- for (int i = 0; i < numbers; ++i)
- {
- a4[i] = "tkl";
- }
- finish = clock();
- ECHO("a4: %f\n", (double)(finish - start) / CLOCKS_PER_SEC);
复制代码
|
|