Browser Benchmarking Using Go Game

I’ve been working on writing a Go Game in JavaScript.  It’s not ready yet (I’m not sure it ever will be), but I figured that since I was running into speed issues, it would make a good browser benchmarking tool.  Of course, all benchmarks are biased in one way or another.  This one does a lot of repeated operations on similar objects.

To run the test, I ran five auto-play games (computer plays both black and white), calculating the average time per move in each game (in milliseconds).  I then averaged these times across the five different games to come up with the score for each browser.

Results (lower is better):

The first three tests were run on my Mac Mini running Mac OS X v10.5.5, 1.83 GHz Intel Core 2 Duo, 1 GB 667 MHz DDR2 SDRAM.

Firefox 3.0.3 1384
Safari 3.1.2 1814
Opera 9.52 2173

The last four tests were run on my Windows Box running Windows Vista SP1 64bit, Intel Core2 Duo 3.0 GHz, 4GB RAM.

Firefox 3.0.3 729
Chrome 740
Opera 9.52 778
Safari 3.1.2 1080
Internet Explorer 7.0 *

None of the tests are exactly conclusive. There was quite a wide range between the best and worst times for each of the browsers, but they did tend to cluster near the average. I was a little surprised that Chrome wasn’t a lot faster than Firefox after reading other benchmarks and hype.

If you’d like you can try out the current version of the Go game here. Just remember, it’s not done and may be changing at any time. For archival purposes (in case I want to run the same test against future browsers), I’ve put my code in this file If you run any tests, please let me know what you find.

* Internet Explorer doesn’t like something about the JavaScript and won’t run.  It’s probably something related to the canvas tag that it doesn’t support.  I’m using ExplorerCanvas to try to make the canvas tag work in IE, but I must have started using an unsupported feature because it stopped working.