hashmap: introduce hash_ops to make struct Hashmap smaller

It is redundant to store 'hash' and 'compare' function pointers in
struct Hashmap separately. The functions always comprise a pair.
Store a single pointer to struct hash_ops instead.

systemd keeps hundreds of hashmaps, so this saves a little bit of
memory.
This commit is contained in:
Michal Schmidt
2014-09-15 16:08:50 +02:00
parent f44541bc93
commit d5099efc47
82 changed files with 278 additions and 226 deletions
+1 -1
View File
@@ -292,7 +292,7 @@ int main(int argc, char *argv[]) {
umask(0022);
sysctl_options = hashmap_new(string_hash_func, string_compare_func);
sysctl_options = hashmap_new(&string_hash_ops);
if (!sysctl_options) {
r = log_oom();
goto finish;