4 ms·
There's a fairly recent work called SHAPES[1] which attempts to address this kind of customized memory layout without having to give up the OOP abstraction. You
by sparkie 5y ago
There's a fairly recent work called SHAPES[1] which attempts to address this kind of customized memory layout without having to give up the OOP abstraction. You can try out different memory layouts without having to modify the types themselves.
[1]:https://www.doc.ic.ac.uk/%7Escd/ShapesOnwards.pdf; https://www.doc.ic.ac.uk/%7Escd/ShapesOnwards.pdf; A more recent revision of the work here: https://www.researchgate.net/publication/341693673_Reshape_your_layouts_not_your_programs_A_safe_language_extension_for_better_cache_locality https://www.researchgate.net/publication/341693673_Reshape_y...
- quotemstr 5y agoFlexibility with object layout is one of the big potential unexploited advantages of managed code systems. Automatically "column-izing" large collections of objects ought to be in the wheelhouse of sufficiently clever JVM and CLR implementations, but this is a very under-explored line of research.