For my test, I wrote a Java method to open an outline and output the time it takes to complete the action. I then wrote code to call the method 5 times for each of four cubes/databases to make sure I was getting consistent timings. The testing was done completely on my laptop with the Java code, Essbase 11.1.1.0 and APS 11.1.1.0 all running on the same machine. I picked these four cubes for different reasons. The four cubes are:
- Sample.Basic. I picked this cube as everyone has it and it can provide a comparison baseline. The filesize for the test was 9.1 Mb.
- ASOSamp.Sample. I picked this cube as it gave me an ASO comparison baseline with 17,711 members in 14 dimensions. The filesize for the test was 5.2 Mb.
- Big1.Big1. I picked this (renamed) customer cube as it is a very large BSO outline, built with build rules, with 337,272 members in 6 dimensions including 45,985 Accounts and 331,226 entities. The filesize for the test was 64.1 Mb.
- zzz.zzz. I picked this (renamed) customer cube as it is an average ASO cube built by Essbase Studio with 55,284 members in 11 dimensions. The filesize for the test was 133 Mb.
I found the zzz.zzz outline was, by far, the slowest to open. When compared to the ASOSamp baseline outline, it took approximately 9 times longer to open zzz.zzz despite the fact that it has only 3 times more members. Big1.Big1, which has 6 times more members than zzz.zzz, opened in just over 50% of the time. Based on my tests, it appears the filesize is a major factor in the performance and that the outline built with Essbase Studio is significantly larger than the outline built with build rules.
So, how does outline performance affect you? Other than the obvious wait times in EAS, there may be some things that are not as obvious. The two most glaring examples are the inability to get all of the available information about associated attributes and the inability to get member comments. In any case, wouldn't it be great if all member queries were equal and outlines opened really fast?