Re: Core table structure Bill Frantz (frantz@netcom.com)
Sat, 9 Sep 1995 13:53:02 -0800

At 12:54 9/9/95 -0400, Jonathan Shapiro wrote:
>Within the CoreObject structure lies the object's age field, which is
>scanned by an algorithm that must make a complete pass through all
>objects. I'm thinking about cache locality, and wondering if these
>algorithms might not be substantially sped up by removing such fields
>from the CoreObject structure and collecting them in a separate array.

I have often thought this approach might have a noticable advantage. (I don't think that anything which is not on the direct object <--> object invocation path (including kernel objects) will be significant, but I've been wrong before.)

I think the real challange is at the programming language level where you want the packing of objects into memory to be independant of the description of their use. Separate arrays (old fashoned Fortran style) are easy if they show through in the program. Can you do this kind of rearangement and maintain efficency in (e.g. C++) giving most of the code the illusion that it is dealing with one array of structures?

Bill