It is not the same. You have at least 2 function calls to do the job of
single one. I strongly also suspect that the binary code is different,
unless of course you claim that calloc is implemented as a macro calling the
2 functions. It is an overhead, and the code is more complex. If it's not
been used, then it should be removed from the protected functions, and let
each programmer decide for himself.
Lastly I don't see the point. What's the hurt? At worst next time a
developer needs it, he can use it. Nobody is forcing anyone to use calloc,
and I wish the same, that no one would force me to use malloc + memset
instead.
Nikos
----- Original Message -----
From: "Vincent CHAVANIS" <[email protected]>
To: <[email protected]>
Sent: Friday, April 03, 2009 3:26 PM
Subject: Re: gwmem patches
Hi,
i'm also as +0
Calloc is malloc+memset
The only *unsignificant* case where we could use calloc is
to prevent redundant code on when allocating multiples elements
by passing the 2 args.
Vincent
Alexander Malysh a ιcrit :
Hi,
2009/4/3 Nikos Balkanas <[email protected] <mailto:[email protected]>>
Hi,
Thanx for your fast response. Must be going crazy reviewing all
these patches :-).
1) Thread.h: Hmmm I thought I got the function prototype correctly.
Well it worked for me. I will have to check with the cvs.
2) OK.
3) Because calloc is undeffed in gwmem.h. If we try to use it it
prints "do_not_call_calloc_directly". Yet no gw_calloc exists!
What's a poor programmer to do? :-(. Well you could use malloc +
memset (x, 0, n), but then so you could in ANSI C, yet calloc exists
I suspect it si more performance related rather than simplicity. It
is a normal C function, and I don't the reason to undef it without
giving its counterpart.
it's not a question whether it exists in gwlib or not. it's just a
question, why you use it? I know such function but never used it before
and never missed it because malloc + memset does the same for me and it
clear for reader what's going on. And from
kernel perspective it's the same malloc + memset...
Give me at least one argument why we _really_ need calloc?
My vote is 0.
How about other developers? do we need calloc?
Let me know if it is OK with calloc, so that I can submit it
together with strdup.
BR,
Nikos
----- Original Message -----
*From:* Alexander Malysh <mailto:[email protected]>
*To:* Nikos Balkanas <mailto:[email protected]>
*Cc:* [email protected] <mailto:[email protected]>
*Sent:* Friday, April 03, 2009 12:21 AM
*Subject:* Re: gwmem patches
Hi,
thanks for your patch but:
1) thread.h patch was wrong. I fixed it in CVS.
2) gw_strdup optimisation looks OK, please submit as extra patch
3) gw_calloc, hmm... I don't really see any advantage of this
one. because
x = gw_malloc(count*size);
memset(x, 0);
do the same. why do we need this?
Thanks,
Alex
Am 02.04.2009 um 19:09 schrieb Nikos Balkanas:
Hi,
An assortment of small patches to make check_memory_leaks work
better:
1) Added support for gw_calloc, which is #undefed but not
defined
2) Replaced strcpy with memcpy in gw_strdup for better efficiency
3) Added function prototype in thread.h for
mutex_make_measured so that MUTEX_STATS compile correctly.
Please decide and vote.
BR,
Nikos<kannel.diff>
--
Telemaque - 06560 SOPHIA-ANTIPOLIS - (FR)
Service Technique/Reseau - NOC
Direction du Developpement xMS+
http://www.telemaque.fr/
[email protected]
Tel : +33 4 92 90 99 84 (fax 9142)