Uploaded image for project: 'Commons Math'
  1. Commons Math
  2. MATH-578

Decrease DescriptiveStatistics performance from 2.0 to 2.2

Rank to TopRank to BottomVotersWatch issueWatchersConvert to sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.2
    • Fix Version/s: 3.1
    • Labels:
      None
    • Environment:

      Linux

      Description

      Switching between commons-math 2.0 to 2.2 we note how the
      DescriptiveStatistics.addValue(double) has decrease the performance.

      I tested with 2 million values.

      DescriptiveStatistics ds = new DescriptiveStatistics();
      for(int i = 0; i<1000*1000*2; i++) { //2 million values
      ds.addValue(v);
      }

      ds.getPercentile(50);

      Seems that depending by the values inserted in the DescriptiveStatistics it takes different time:

      • with a single value (0)
        • 2.0 -> take ~500 ms
        • 2.2 -> take more than 10 minutes
      • with 50% fixed value (0) and 50% Math.random()
        • 2.0 -> take ~500 ms
        • 2.2 -> take ~250000 ms -> ~250 second
      • with 100% Math.random()
        • 2.0 -> take ~500 ms
        • 2.2 -> take ~70 ms

        Attachments

        1. percentile.png
          28 kB
          Paolo Repele

        Issue Links

          Activity

          $i18n.getText('security.level.explanation', $currentSelection) Viewable by All Users
          Cancel

            People

            • Assignee:
              mikl Mikkel Meyer Andersen
              Reporter:
              paolo.repele Paolo Repele

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment