curl_easy_init: use less mallocs
authorDaniel Stenberg <daniel@haxx.se>
Fri, 26 Apr 2013 20:23:08 +0000 (22:23 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 26 Apr 2013 20:55:55 +0000 (22:55 +0200)
commit642067287931da64e485e402e5e1fa5096abcddd
treef1c843b46447d2e4607bfe029823352932c4d01f
parentc4067a5678321b1755f6027a5c7510b17e7c16a6
curl_easy_init: use less mallocs

By introducing an internal alternative to curl_multi_init() that accepts
parameters to set the hash sizes, easy handles will now use tiny socket
and connection hash tables since it will only ever add a single easy
handle to that multi handle.

This decreased the number mallocs in test 40 (which is a rather simple
and typical easy interface use case) from 1142 to 138. The maximum
amount of memory allocated used went down from 118969 to 78805.
lib/conncache.c
lib/conncache.h
lib/easy.c
lib/multi.c
lib/multiif.h