summaryrefslogtreecommitdiff
path: root/lib/hash.h
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2017-04-01 01:12:32 +0200
committerDaniel Stenberg <daniel@haxx.se>2017-04-01 01:12:32 +0200
commit32ccb71b640f42482b6ca7e365dcb47eea4d0018 (patch)
treed72f0ecd35476c95765415e6503ab9d4c73f6db8 /lib/hash.h
parent76c21ed3fda20c55201c734a9d47af02ab7f6e46 (diff)
downloadcurl-bagder/hash-less-malloc.tar.gz
hash: move key into hash struct to reduce mallocsbagder/hash-less-malloc
This removes one malloc for each hash struct allocated. In the simplest case like "curl localhost", my test case went from 112 mallocs to 109.
Diffstat (limited to 'lib/hash.h')
-rw-r--r--lib/hash.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/hash.h b/lib/hash.h
index a5a6cac72..bc03672f3 100644
--- a/lib/hash.h
+++ b/lib/hash.h
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -58,8 +58,8 @@ struct curl_hash {
struct curl_hash_element {
void *ptr;
- char *key;
size_t key_len;
+ char key[1]; /* allocated memory following the struct */
};
struct curl_hash_iterator {