Package mondrian.test

Class PerformanceTest


  • public class PerformanceTest
    extends FoodMartTestCase
    Various unit tests concerned with performance.
    Since:
    August 7, 2006
    Author:
    jhyde
    • Field Detail

      • LOGGER

        public static final org.apache.log4j.Logger LOGGER
        Certain tests are enabled only if logging is enabled at debug level or higher.
    • Constructor Detail

      • PerformanceTest

        public PerformanceTest​(java.lang.String name)
    • Method Detail

      • testBugMondrian550Tuple

        public void testBugMondrian550Tuple()
        As testBugMondrian550() but with tuples on the rows axis.
      • testMondrianBug641

        public void testMondrianBug641()
        Test case for Bug MONDRIAN-641, "Large NON EMPTY result performs poorly with ResultStyle.ITERABLE". Runs in ~10 seconds with ResultStyle.LIST, 99+ seconds with ITERABLE (on DELL Latitude D630).
      • testVeryLargeExplicitSet

        public void testVeryLargeExplicitSet()
        Tests performance when an MDX query contains a very large explicit set.
      • testBigResultsWithBigSchemaPerforms

        public void testBigResultsWithBigSchemaPerforms()
        Tests performance of a larger schema with a large number of result cells. Runs in 186 seconds without nonAllPositions array in RolapEvaluator. Runs in 14 seconds when RolapEvaluator.getProperty uses getNonAllMembers. The performance boost gets more significant as the schema size grows.
      • testInMemoryCalc

        public void testInMemoryCalc()
        Runs a query that performs a lot of in-memory calculation.

        Timings (branch / change / host / DBMS / jdk / timings (s) / mean):

        • mondrian-3.2 13366 marmalade oracle jdk1.6 592 588 581 571 avg 583
        • mondrian-3.2 13367 marmalade oracle jdk1.6 643 620 631 671 avg 641
        • mondrian-3.2 13397 marmalade oracle jdk1.6 604 626
        • mondrian-3.2 13467 marmalade oracle jdk1.6 610 574
        • mondrian-3.2 13489 marmalade oracle jdk1.6 565 561 579 596 avg 575
        • mondrian-3.2 13490 marmalade oracle jdk1.6 607 611 581 605 avg 601
        • mondrian-3.2 xxxxx marmalade oracle jdk1.6 562 583 541 522 avg 552
        • mondrian-3.2 14036 marmalade oracle jdk1.6 451 433
        • mondrian 14036 marmalade oracle jdk1.6 598 552
        • mondrian 14037 marmalade oracle jdk1.6 626 596
        • mondrian 14052 marmalade oracle jdk1.6 454
        • mondrian 14770 marmite mysql jdk1.7 > 30 minutes