[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