[Mondrian] CellKey/Aggregation Segment change

Julian Hyde julianhyde at speakeasy.net
Tue Feb 13 18:14:57 EST 2007


Richard,

I changed CellKey to make more efficient use of memory when the number of
axes is small - hope you approve. The trade-off is an extra array allocated
each time getOrdinals() is called - but I think this is acceptable, since
the array will quickly be gc-ed.

My goal is to make aggregation segments more memory-efficient, so we can
pack more info into a given cache size. Please review my change 8710 and
tell me what you think of the changes in that area.

The next change will be to obsolete the Aggregate.Axis.mapKeyToOffset map.
This is possible because the key array is now sorted - so we can use binary
search. A binary search takes a little more CPU, but a lot less memory since
we needed the key array anyway.

And the change after that will be variants of DenseSegmentDataset which
store their cell values as native doubles and ints.

All post-2.3, of course.

Julian

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20070213/0e334f48/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 145 bytes
Desc: not available
Url : http://lists.pentaho.org/pipermail/mondrian/attachments/20070213/0e334f48/attachment.gif 


More information about the Mondrian mailing list