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]]

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to