2019-08-13 22:42:37 +08:00
|
|
|
#include <iostream>
|
2019-08-23 10:21:13 +08:00
|
|
|
#include <parallel_hashmap/phmap_dump.h>
|
2019-08-13 22:42:37 +08:00
|
|
|
|
2019-08-15 12:23:05 +08:00
|
|
|
void dump_load_uint64_uint32() {
|
2019-08-25 10:22:44 -04:00
|
|
|
phmap::flat_hash_map<uint64_t, uint32_t> mp1 = { {100, 99}, {300, 299} };
|
2019-08-13 22:42:37 +08:00
|
|
|
|
|
|
|
|
for (const auto& n : mp1)
|
|
|
|
|
std::cout << n.first << "'s value is: " << n.second << "\n";
|
|
|
|
|
|
2019-08-25 10:22:44 -04:00
|
|
|
{
|
|
|
|
|
phmap::BinaryOutputArchive ar_out("./dump.data");
|
2021-12-26 19:58:45 -05:00
|
|
|
mp1.phmap_dump(ar_out);
|
2019-08-25 10:22:44 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
phmap::flat_hash_map<uint64_t, uint32_t> mp2;
|
|
|
|
|
{
|
|
|
|
|
phmap::BinaryInputArchive ar_in("./dump.data");
|
2021-12-26 19:58:45 -05:00
|
|
|
mp2.phmap_load(ar_in);
|
2019-08-25 10:22:44 -04:00
|
|
|
}
|
|
|
|
|
|
2019-08-23 10:21:13 +08:00
|
|
|
for (const auto& n : mp2)
|
2019-08-13 22:42:37 +08:00
|
|
|
std::cout << n.first << "'s value is: " << n.second << "\n";
|
|
|
|
|
}
|
|
|
|
|
|
2019-08-15 12:23:05 +08:00
|
|
|
void dump_load_parallel_flat_hash_map() {
|
2019-08-25 10:22:44 -04:00
|
|
|
phmap::parallel_flat_hash_map<uint64_t, uint32_t> mp1 = {
|
|
|
|
|
{100, 99}, {300, 299}, {101, 992} };
|
|
|
|
|
|
2019-08-15 12:23:05 +08:00
|
|
|
for (const auto& n : mp1)
|
|
|
|
|
std::cout << "key: " << n.first << ", value: " << n.second << "\n";
|
|
|
|
|
|
2019-08-25 10:22:44 -04:00
|
|
|
{
|
|
|
|
|
phmap::BinaryOutputArchive ar_out("./dump.data");
|
2021-12-26 19:58:45 -05:00
|
|
|
mp1.phmap_dump(ar_out);
|
2019-08-25 10:22:44 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
phmap::parallel_flat_hash_map<uint64_t, uint32_t> mp2;
|
|
|
|
|
{
|
|
|
|
|
phmap::BinaryInputArchive ar_in("./dump.data");
|
2021-12-26 19:58:45 -05:00
|
|
|
mp2.phmap_load(ar_in);
|
2019-08-25 10:22:44 -04:00
|
|
|
}
|
2019-08-15 12:23:05 +08:00
|
|
|
|
2019-08-25 14:55:46 -04:00
|
|
|
for (const auto& n : mp2)
|
2019-08-15 12:23:05 +08:00
|
|
|
std::cout << "key: " << n.first << ", value: " << n.second << "\n";
|
|
|
|
|
}
|
|
|
|
|
|
2019-08-13 22:42:37 +08:00
|
|
|
int main()
|
2019-08-18 22:50:47 +08:00
|
|
|
{
|
2019-08-15 12:23:05 +08:00
|
|
|
dump_load_uint64_uint32();
|
|
|
|
|
dump_load_parallel_flat_hash_map();
|
2019-08-13 22:42:37 +08:00
|
|
|
return 0;
|
2019-08-18 22:50:47 +08:00
|
|
|
}
|
2019-08-20 00:48:22 +08:00
|
|
|
|