mirror of
https://github.com/greg7mdp/parallel-hashmap.git
synced 2026-08-30 00:50:38 +08:00
added serialize compare and added parallel dump&load
This commit is contained in:
+36
-12
@@ -4,8 +4,9 @@
|
||||
|
||||
using phmap::flat_hash_map;
|
||||
using phmap::flat_hash_set;
|
||||
using phmap::parallel_flat_hash_map;
|
||||
|
||||
void load_dump_string_string() {
|
||||
void dump_load_string_string() {
|
||||
flat_hash_map<std::string, std::string> mp1;
|
||||
|
||||
// Add a new entry
|
||||
@@ -27,7 +28,7 @@ void load_dump_string_string() {
|
||||
std::remove("./dump.data");
|
||||
}
|
||||
|
||||
void load_dump_uint64_uint32() {
|
||||
void dump_load_uint64_uint32() {
|
||||
flat_hash_map<uint64_t, uint32_t> mp1;
|
||||
|
||||
// Add a new entry
|
||||
@@ -49,7 +50,7 @@ void load_dump_uint64_uint32() {
|
||||
std::remove("./dump.data");
|
||||
}
|
||||
|
||||
void load_dump_string_uint32() {
|
||||
void dump_load_string_uint32() {
|
||||
flat_hash_map<std::string, uint32_t> mp1;
|
||||
|
||||
// Add a new entry
|
||||
@@ -71,7 +72,7 @@ void load_dump_string_uint32() {
|
||||
std::remove("./dump.data");
|
||||
}
|
||||
|
||||
void load_dump_uint32_string() {
|
||||
void dump_load_uint32_string() {
|
||||
flat_hash_map<uint32_t, std::string> mp1;
|
||||
|
||||
// Add a new entry
|
||||
@@ -93,7 +94,7 @@ void load_dump_uint32_string() {
|
||||
std::remove("./dump.data");
|
||||
}
|
||||
|
||||
void load_dump_string() {
|
||||
void dump_load_string() {
|
||||
flat_hash_set<std::string> st1;
|
||||
|
||||
// Add a new entry
|
||||
@@ -115,7 +116,7 @@ void load_dump_string() {
|
||||
std::remove("./dump.data");
|
||||
}
|
||||
|
||||
void load_dump_uint64() {
|
||||
void dump_load_uint64() {
|
||||
flat_hash_set<uint64_t> st1;
|
||||
|
||||
// Add a new entry
|
||||
@@ -137,13 +138,36 @@ void load_dump_uint64() {
|
||||
std::remove("./dump.data");
|
||||
}
|
||||
|
||||
void dump_load_parallel_flat_hash_map() {
|
||||
parallel_flat_hash_map<uint64_t, uint32_t> mp1;
|
||||
|
||||
// Add a new entry
|
||||
mp1[100] = 99;
|
||||
mp1[300] = 299;
|
||||
mp1[101] = 992;
|
||||
mp1[1300] = 2991;
|
||||
mp1[1130] = 299;
|
||||
mp1[2130] = 1299;
|
||||
// Iterate and print
|
||||
for (const auto& n : mp1)
|
||||
std::cout << "key: " << n.first << ", value: " << n.second << "\n";
|
||||
|
||||
mp1.dump("./dump");
|
||||
parallel_flat_hash_map<uint64_t, uint32_t> mp2;
|
||||
|
||||
mp2.load("./dump");
|
||||
for (const auto& n : mp2)
|
||||
std::cout << "key: " << n.first << ", value: " << n.second << "\n";
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
load_dump_string_string();
|
||||
load_dump_uint64_uint32();
|
||||
load_dump_string_uint32();
|
||||
load_dump_uint32_string();
|
||||
load_dump_string();
|
||||
load_dump_uint64();
|
||||
dump_load_string_string();
|
||||
dump_load_uint64_uint32();
|
||||
dump_load_string_uint32();
|
||||
dump_load_uint32_string();
|
||||
dump_load_string();
|
||||
dump_load_uint64();
|
||||
dump_load_parallel_flat_hash_map();
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user