Hi Jim.

> I was going to run these today, but fixing the dashing bug above and
> rerunning the tests took a while and it's already 8:30 pm here and I
> have to go home. I'll run them tomorrow morning.

I ran the benchmarks. I've attached the options file. I ran benchmarks
of my icedtea installation, closed source java, openjdk7 without the
webrev, and openjdk7 with the webrev.

The results files are at http://icedtea.classpath.org/~dlila/benchResults/
I think the names are pretty self explanatory.

The html comparisons are:
jdk6 vs latest work:
http://icedtea.classpath.org/~dlila/benchResults/JDK6vsLatest_html/Summary_Report.html

closed source vs latest work:
http://icedtea.classpath.org/~dlila/benchResults/SUNvsLatest_html/Summary_Report.html

and most importantly:
previous version of pisces in openjdk7 vs latest work:
http://icedtea.classpath.org/~dlila/benchResults/PrevVsLatest_html/Summary_Report.html

The improvements are significant. Running J2DAnalyzer on all the results files 
with
jdk6Bench.res as the basis produces the following summary:

Summary:
  jdk6Bench: 
    Number of tests:  104
    Overall average:  311110.7986576862
    Best spread:      0.0% variance
    Worst spread:     10.96% variance
    (Basis for results comparison)

  sunBench: 
    Number of tests:  104
    Overall average:  276654.4443479696
    Best spread:      0.25% variance
    Worst spread:     19.28% variance
    Comparison to basis:
      Best result:      6488.34% of basis
      Worst result:     43.74% of basis
      Number of wins:   80
      Number of ties:   2
      Number of losses: 22

  prevPisces: 
    Number of tests:  104
    Overall average:  221539.3516605794
    Best spread:      0.08% variance
    Worst spread:     5.54% variance
    Comparison to basis:
      Best result:      350.33% of basis
      Worst result:     55.0% of basis
      Number of wins:   57
      Number of ties:   10
      Number of losses: 37

  latestPisces: 
    Number of tests:  104
    Overall average:  226762.64157611743
    Best spread:      0.0% variance
    Worst spread:     3.03% variance
    Comparison to basis:
      Best result:      501.86% of basis
      Worst result:     26.23% of basis
      Number of wins:   72
      Number of ties:   4
      Number of losses: 28


But unfortunately, if you look at the individual test cases in the html
reports there are also some stepbacks, most notably in the dashing of
anything that isn't a straight line. In fact, the results of drawOval
show a 50%-500% improvement in non dashed drawing, and a 50%-25% deterioration
in dashed drawing. I was expecting this, after the binary search algorithm.
I've been thinking it might be better if we just go with the old algorithm
and simply use Dasher.LengthIterator to flatten the curves and feed the lines
to lineTo. Or we could just go with what we have and hope we find a better
algorithm.

Regards,
Denis.

Attachment: piscesBench.opt
Description: Binary data

Reply via email to