Replace zed's use of malloc with calloc

When zed allocates memory via malloc(), it typically follows that
with a memset().  However, calloc() implementations can often perform
optimizations when zeroing memory:

https://stackoverflow.com/questions/2688466/why-mallocmemset-is-slower-than-calloc

This commit replaces zed's use of malloc() with calloc().

Signed-off-by: Chris Dunlap <cdunlap@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #2736
This commit is contained in:
Chris Dunlap
2014-09-22 13:22:48 -07:00
committed by Brian Behlendorf
parent bee6665b88
commit 8cb8cf91df
3 changed files with 4 additions and 8 deletions
+2 -4
View File
@@ -82,11 +82,10 @@ zed_strings_create(void)
{
zed_strings_t *zsp;
zsp = malloc(sizeof (*zsp));
zsp = calloc(1, sizeof (*zsp));
if (!zsp)
return (NULL);
memset(zsp, 0, sizeof (*zsp));
avl_create(&zsp->tree, _zed_strings_node_compare,
sizeof (zed_strings_node_t), offsetof(zed_strings_node_t, node));
@@ -131,11 +130,10 @@ zed_strings_add(zed_strings_t *zsp, const char *s)
return (-1);
}
len = sizeof (zed_strings_node_t) + strlen(s) + 1;
np = malloc(len);
np = calloc(1, len);
if (!np)
return (-1);
memset(np, 0, len);
assert((char *) np->string + strlen(s) < (char *) np + len);
(void) strcpy(np->string, s);
avl_add(&zsp->tree, np);