diff options
author | Nicholas Clark <nick@ccl4.org> | 2010-09-08 10:24:04 +0100 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2010-09-08 10:24:04 +0100 |
commit | 9a87bd09eea1d037e82e99f6ece528e39e7fe0e6 (patch) | |
tree | 687527f4f2be761e544a22f09e7bbd4ee0a51141 /embedvar.h | |
parent | ea25a9b2cf73948b1e8c5675de027e0ad13277bd (diff) | |
download | perl-9a87bd09eea1d037e82e99f6ece528e39e7fe0e6.tar.gz |
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.
Diffstat (limited to 'embedvar.h')
-rw-r--r-- | embedvar.h | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/embedvar.h b/embedvar.h index e57eed9d7f..3a9bcccca6 100644 --- a/embedvar.h +++ b/embedvar.h @@ -206,8 +206,6 @@ #define PL_my_cxt_list (vTHX->Imy_cxt_list) #define PL_my_cxt_size (vTHX->Imy_cxt_size) #define PL_na (vTHX->Ina) -#define PL_nice_chunk (vTHX->Inice_chunk) -#define PL_nice_chunk_size (vTHX->Inice_chunk_size) #define PL_nomemok (vTHX->Inomemok) #define PL_numeric_local (vTHX->Inumeric_local) #define PL_numeric_name (vTHX->Inumeric_name) @@ -538,8 +536,6 @@ #define PL_Imy_cxt_list PL_my_cxt_list #define PL_Imy_cxt_size PL_my_cxt_size #define PL_Ina PL_na -#define PL_Inice_chunk PL_nice_chunk -#define PL_Inice_chunk_size PL_nice_chunk_size #define PL_Inomemok PL_nomemok #define PL_Inumeric_local PL_numeric_local #define PL_Inumeric_name PL_numeric_name |