You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@harmony.apache.org by Mark Hindess <ma...@googlemail.com> on 2010/08/07 16:27:03 UTC

[classlib][luni] ArrayList change benchmark results

The results of running the dacapo benchmarks for the recent ArrayList
changes (with 'large' data sets and measuring the 20th cycle, "-n
20") are appended below.  The jre column uses 'orig', 'expt', 'clon',
'size' for the original, the version with the exception re-ordering,
the version with the clone remove, and the latest version with the
lastIndex/size field change.

There aren't easy to interpret.  I think they are mostly to close to
callout any particular change as being good/bad.  I guess we might need
to come up with some microbenchmarks that reproduce what we expect are
likely workloads.

This time I also produced some graphs of the time taken to complete the
last 15 cycles.  They are at:

  http://tinyurl.com/349t9z2
  http://tinyurl.com/36xfmsx
  http://tinyurl.com/2v9rcg9
  http://tinyurl.com/3555wny
  http://tinyurl.com/3856v7e

Comments and interpretations welcome.

Regards,
-Mark.

avrora

JRE  | Runs |      % | Result (normalized, smaller is better)
orig |    4 | 100.61 | #################################################
expt |    4 | 100.00 | #################################################
clon |    4 | 100.25 | #################################################
size |    4 | 101.28 | ##################################################


h2

JRE  | Runs |      % | Result (normalized, smaller is better)
orig |    4 | 100.73 | #################################################
expt |    4 | 100.00 | #################################################
clon |    4 | 101.13 | #################################################
size |    4 | 101.60 | ##################################################


jython

JRE  | Runs |      % | Result (normalized, smaller is better)
orig |    4 | 100.00 | #################################################
expt |    4 | 101.76 | ##################################################
clon |    4 | 100.81 | #################################################
size |    4 | 100.71 | #################################################


pmd

JRE  | Runs |      % | Result (normalized, smaller is better)
orig |    4 | 101.82 | ##################################################
expt |    4 | 100.00 | #################################################
clon |    4 | 100.90 | #################################################
size |    4 | 100.17 | #################################################


sunflow

JRE  | Runs |      % | Result (normalized, smaller is better)
orig |    4 | 100.52 | #################################################
expt |    4 | 101.07 | ##################################################
clon |    4 | 101.03 | #################################################
size |    4 | 100.00 | #################################################


JRE is the identifier for the JRE executing the benchmark.
Runs is the number of test runs that passed (low numbers => instability?).
The % field is a percentage slow down compared to the fastest result.
The result is a simple graph of average execution time normalized based
on the slowest result.