added serialize compare and added parallel dump&load

This commit is contained in:
sunkaicheng
2019-08-15 12:23:05 +08:00
parent da55a69dfa
commit 5cd20dc4a6
5 changed files with 233 additions and 15 deletions
+36 -12
View File
@@ -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;
}