[Mondrian] Inefficiencies with Lists

Matt Campbell mkambol at gmail.com
Thu Oct 22 11:25:46 EDT 2009


The simple crossjoin query in the unit test below runs in about *99
seconds*on my laptop.  After noticing a hotspot in JProfiler, I tried
setting the
result style to ResultStyle.LIST and reran.  It completed in *11 seconds*.
I haven't investigated much yet, but I thought I'd throw this observation
out for feedback.  It looks like the LinkedList is not being accessed
sequentially, causing a significant bottleneck in list retrieval.


 public void testLargeResult() {
         long start = System.currentTimeMillis();
         Result result = executeQuery("select {  crossjoin(
customers.[city].members, " +
                 "crossjoin( [store type].[store type].members,
product.[product name].members)) }" +
                 " on 0 from sales");
         System.out.println("elapsed time:  " + (System.currentTimeMillis()
- start));
         System.out.println("size=" +
result.getAxes()[0].getPositions().size());
     }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20091022/20dbe4a2/attachment.html 


More information about the Mondrian mailing list