This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Remove offer_nice_chunk(), PL_nice_chunk and PL_nice_chunk_size.
authorNicholas Clark <nick@ccl4.org>
Wed, 8 Sep 2010 09:24:04 +0000 (10:24 +0100)
committerNicholas Clark <nick@ccl4.org>
Wed, 8 Sep 2010 09:24:04 +0000 (10:24 +0100)
commit9a87bd09eea1d037e82e99f6ece528e39e7fe0e6
tree687527f4f2be761e544a22f09e7bbd4ee0a51141
parentea25a9b2cf73948b1e8c5675de027e0ad13277bd
Remove offer_nice_chunk(), PL_nice_chunk and PL_nice_chunk_size.

These provided a non-public API for the hash and array code to donate free
memory direct to the SV head allocation routines, instead of returning it
to the malloc system with free().

I assume that on some older mallocs this could offer significant benefits.
However, my benchmarking on a modern malloc couldn't detect any significant
effect (positive or negative) on removing the code. Its (continued) presence,
however, has downsides

a: slightly more code complexity
b: slightly larger interpreter structure
c: in the steady state, if net creation of SVs is zero, 1 chunk of allocated
   but unused memory will exist (per thread)

So I think it best to remove it.
Porting/findvars
av.c
embed.fnc
embed.h
embedvar.h
hv.c
intrpvar.h
perlapi.h
proto.h
sv.c