diff options
author | Daniel Stenberg <daniel@haxx.se> | 2017-04-01 01:12:32 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2017-04-01 01:12:32 +0200 |
commit | 32ccb71b640f42482b6ca7e365dcb47eea4d0018 (patch) | |
tree | d72f0ecd35476c95765415e6503ab9d4c73f6db8 /lib/hash.h | |
parent | 76c21ed3fda20c55201c734a9d47af02ab7f6e46 (diff) | |
download | curl-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.h | 4 |
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 { |