You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Phil Steitz (JIRA)" <ji...@apache.org> on 2011/07/31 08:42:09 UTC

[jira] [Updated] (MATH-637) Simple utility for micro-benchmarking

     [ https://issues.apache.org/jira/browse/MATH-637?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Phil Steitz updated MATH-637:
-----------------------------

    Attachment: PerfUtils.patch

One thing to think about is whether we really want / need to store all of the timing results in an array.  The times array could get quite large if the number of iterations is very large.

The attached patch prepares for eventual move to just streaming the execution times by changing the statistical aggregator from DescriptiveStatistics to SummaryStatistics.  The latter does not store velues in memory.  The patch also replaces the array of DescriptiveStatistics describing method results with an array of StatisticalSummary instances.  The latter are immutable value objects that just maintain values of statistics.  These changes should probably be made even if we decide to hold the full time array in storage, since the current impl is needlessly storing the raw data again inside the DescriptiveStatistics instances and all you really need to store is the result of the statistical analysis.

> Simple utility for micro-benchmarking
> -------------------------------------
>
>                 Key: MATH-637
>                 URL: https://issues.apache.org/jira/browse/MATH-637
>             Project: Commons Math
>          Issue Type: Wish
>            Reporter: Gilles
>            Assignee: Gilles
>            Priority: Minor
>              Labels: test
>             Fix For: 3.0
>
>         Attachments: PerfUtils.patch
>
>
> As per the discussion on the "dev" ML (with subject: "Simple benchmarking utility"), it would be useful to have an easy way to benchmark alternative implementations of some functionality.
> The proposed utility methods will be collected in a class located in the "src/test/java" part of the code repository.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira