Hi,

I've run the java2d benchmarker in a few configurations, with the
results as follows.  Natively compiling the code doesn't yield much of
an improvement over jamVM.  Some interesting results.

JamVM w/ latest Classpath:
TEST draw(Arc2D.Double) 1000 times: average 252.3ms [135-486]
TEST draw(CubicCurve2D.Double) 1000 times: average 377.1ms [167-658]
TEST draw(Ellipse.Double) 1000 times: average 472.8ms [270-787]
TEST draw(Line2D.Double) 1000 times: average 123.6ms [35-289]
TEST draw(QuadCurve2D.Double) 1000 times: average 262.0ms [112-459]
TEST draw(Rectangle.Double) 1000 times: average 90.0ms [35-207]
TEST draw(RoundRectangle.Double) 1000 times: average 621.0ms [447-887]
TEST fill(Arc2D.Double) 1000 times: average 198.3ms [90-398]
TEST fill(Ellipse.Double) 1000 times: average 328.8ms [153-720]
TEST fill(Rectangle.Double) 1000 times: average 23.3ms [16-32]
TEST fill(RoundRectangle.Double) 1000 times: average 445.1ms [299-745]

GCJ native code (not latest Classpath; optimized to -O2):
TEST draw(Arc2D.Double) 1000 times: average 214.6ms [78-569]
TEST draw(CubicCurve2D.Double) 1000 times: average 374.8ms [133-819]
TEST draw(Ellipse.Double) 1000 times: average 401.0ms [179-755]
TEST draw(Line2D.Double) 1000 times: average 110.5ms [13-286]
TEST draw(QuadCurve2D.Double) 1000 times: average 253.6ms [82-499]
TEST draw(Rectangle.Double) 1000 times: average 96.8ms [14-239]
TEST draw(RoundRectangle.Double) 1000 times: average 415.8ms [181-735]
TEST fill(Arc2D.Double) 1000 times: average 181.1ms [41-545]
TEST fill(Ellipse.Double) 1000 times: average 284.0ms [88-707]
TEST fill(Rectangle.Double) 1000 times: average 14.1ms [5-45]
TEST fill(RoundRectangle.Double) 1000 times: average 287.0ms [94-571]

Sun:
TEST draw(Arc2D.Double) 1000 times: average 47.6ms [13-133]
TEST draw(CubicCurve2D.Double) 1000 times: average 44.6ms [22-83]
TEST draw(Ellipse.Double) 1000 times: average 65.3ms [43-111]
TEST draw(Line2D.Double) 1000 times: average 8.5ms [2-22]
TEST draw(QuadCurve2D.Double) 1000 times: average 40.8ms [15-90]
TEST draw(Rectangle.Double) 1000 times: average 15.6ms [3-45]
TEST draw(RoundRectangle.Double) 1000 times: average 46.8ms [20-86]
TEST fill(Arc2D.Double) 1000 times: average 50.3ms [9-128]
TEST fill(Ellipse.Double) 1000 times: average 50.3ms [4-125]
TEST fill(Rectangle.Double) 1000 times: average 37.6ms [5-85]
TEST fill(RoundRectangle.Double) 1000 times: average 52.3ms [6-121]

Sun, with JIT disabled (-Djava.compiler=none):
TEST draw(Arc2D.Double) 1000 times: average 150.3ms [123-275]
TEST draw(CubicCurve2D.Double) 1000 times: average 229.1ms [187-413]
TEST draw(Ellipse.Double) 1000 times: average 415.6ms [341-754]
TEST draw(Line2D.Double) 1000 times: average 35.5ms [22-72]
TEST draw(QuadCurve2D.Double) 1000 times: average 152.1ms [124-273]
TEST draw(Rectangle.Double) 1000 times: average 54.8ms [44-89]
TEST draw(RoundRectangle.Double) 1000 times: average 217.0ms [213-220]
TEST fill(Arc2D.Double) 1000 times: average 73.1ms [48-146]
TEST fill(Ellipse.Double) 1000 times: average 73.8ms [43-151]
TEST fill(Rectangle.Double) 1000 times: average 59.1ms [40-97]
TEST fill(RoundRectangle.Double) 1000 times: average 73.5ms [55-90]



Reply via email to