summaryrefslogtreecommitdiff
path: root/apt-pkg/pkgcachegen.cc
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2015-12-27 01:33:38 +0100
committerJulian Andres Klode <jak@debian.org>2015-12-27 01:46:06 +0100
commite9185eca390435b4060ef26c7c69d39f994da7a7 (patch)
treed77ecc772e65180b9ff0bad0a5a6961b7e60d426 /apt-pkg/pkgcachegen.cc
parent74dedb4ae28fd4f7c89bf769708d4f7edc7ed79a (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.cc4
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;