Hi All,
I am using R-2.7.0 and am trying to Understand the memory Manager in it.
I am a bit confused about The Node Classes .Can Any one explain?
*R-Internals states that
-------------------------------
*The `small' vector nodes -- Class 1 to Class 6-- are able to store vector
data of up to 8, 16, 32, 48, 64 and 128 bytes
memory.c
--------------
/* the number of VECREC's in nodes of the small node classes */
static int NodeClassSize[NUM_SMALL_NODE_CLASSES] = { 0, 1, 2, 4, 6, 8, 16 };
and a size of a VECREC on an x86 machine comes around 8 bytes..
Now when i allocate an array
like> a=array(1:2^5)
Upto a length of 2^5=32 seems to come under Class 6.
But as per the above only upto 16 should come..
Why is the difference?
This is how i verified
--------------------------
I ran R -d ddd
set a break point where it sets the node class.
And printed out its value
i also tried by adding a printf in memory.c,,
[[alternative HTML version deleted]]