This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Reduce code size of _REENT_INIT_PTR()


On 26/04/13 21:55, Freddie Chopin wrote:
W dniu 2013-04-26 21:42, Yaakov (Cygwin/X) pisze:
On 2013-04-26 03:43, Sebastian Huber wrote:
Use one memset() to initialize everything to zero.  Set non-zero fields
in a second step.  There is only a small runtime overhead, but the code
size is greatly reduced.  This change assumes the NULL pointer and '\0'
are encoded as zero bits.

This sounds like a candidate for PREFER_SIZE_OVER_SPEED, but AFAICS that
would mean moving that definition out of configure.host and into
sys/config.h.

I'm almost sure that memset() version will be both faster and smaller, especially because there was a memset() call anyway... In my opinion there is no tradeoff in this change - it's just better.

Due to the atexit() stuff in struct _reent the overhead is approximately memset(0, 0, 400)

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]