diff options
author | Julian Andres Klode <jak@debian.org> | 2015-12-27 01:33:38 +0100 |
---|---|---|
committer | Julian Andres Klode <jak@debian.org> | 2015-12-27 01:46:06 +0100 |
commit | e9185eca390435b4060ef26c7c69d39f994da7a7 (patch) | |
tree | d77ecc772e65180b9ff0bad0a5a6961b7e60d426 /apt-pkg/pkgcachegen.cc | |
parent | 74dedb4ae28fd4f7c89bf769708d4f7edc7ed79a (diff) |
pkgcachegen: Use std::unordered_map instead of std::map
std::unordered_map is faster than std::map in our use case,
reducing cache generation time by about 10% in my benchmark.
Diffstat (limited to 'apt-pkg/pkgcachegen.cc')
-rw-r--r-- | apt-pkg/pkgcachegen.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/apt-pkg/pkgcachegen.cc b/apt-pkg/pkgcachegen.cc index 61f7a1124..e7bdc615b 100644 --- a/apt-pkg/pkgcachegen.cc +++ b/apt-pkg/pkgcachegen.cc @@ -1253,7 +1253,7 @@ map_stringitem_t pkgCacheGenerator::StoreString(enum StringType const type, cons { std::string const key(S, Size); - std::map<std::string,map_stringitem_t> * strings; + std::unordered_map<std::string,map_stringitem_t> * strings; switch(type) { case MIXED: strings = &strMixed; break; case PKGNAME: strings = &strPkgNames; break; @@ -1262,7 +1262,7 @@ map_stringitem_t pkgCacheGenerator::StoreString(enum StringType const type, cons default: _error->Fatal("Unknown enum type used for string storage of '%s'", key.c_str()); return 0; } - std::map<std::string,map_stringitem_t>::const_iterator const item = strings->find(key); + std::unordered_map<std::string,map_stringitem_t>::const_iterator const item = strings->find(key); if (item != strings->end()) return item->second; |