satine.org

by Charles Ying

Archive for September, 2008

SquirrelFish Extreme: Fastest JavaScript Engine Yet

Friday, September 19th, 2008

After reading the WebKit SquirrelFish Extreme announcement, I figured it’s time to revisit the JavaScript engine / web browser race once again.

In short: SquirrelFish Extreme is fastest by a whopping 35% over its nearest competitor, making WebKit the fastest browser once again. Let’s see how the numbers come out.

SunSpider Benchmark Comparison of JavaScript Engines

SunSpider running from the command line (to ensure the test is as pure as possible) was used for this test. My test system is a 2.4GHz iMac.*

These graphs are shown in runs per minute for clarity. Longer bars are better.

The raw timings are:

Detailed timings are linked above.

Of course, browsers are not purely executing JavaScript – DOM and rendering speeds are performance considerations as well. For this, we turn to Mozilla’s Dromaeo benchmark.

Dromaeo on Windows

As you can see, Firefox and WebKit smoke Google Chrome on this benchmark. WebKit comes out slightly ahead, so we need another benchmark to clear things up. Once again, Dromaeo, but on OS X now.

The full timings for these benchmarks are here:

Dromaeo on Mac OS X

Full timings for these benchmarks are here:

  • Firefox Nightly on OS X – 6648.20ms (Total)
  • WebKit Nightly on OS X – 4387.20ms (Total)
  • Winner: WebKit + SquirrelFish Extreme

    SquirrelFish Extreme wins this evolutionary cycle. Stay tuned for more coverage as Google, WebKit and Mozilla prepare their next moves.

    Running your own SunSpider tests

    Download and build WebKit trunk, Firefox trunk, and V8 trunk:

    Building SquirrelFish Extreme: from JavaScriptCore, make release

    Building V8: scons sample=shell

    Building Tracemonkey: from js/src, run make -f Makefile.ref BUILD_OPT=1

    Run the SunSpider harness from WebKitTools/SunSpider: SquirrelFish Extreme: ./sunspider --shell=../../WebKit/WebKitBuild/Release/jsc

    V8: ./sunspider --shell=../../v8-edge/shell --args=-expose-gc

    TraceMonkey: ./sunspider --shell=../../tracemonkey/js/src/Darwin_OPT.OBJ/js --args="-j"

    Notes

    • The Windows benchmarks ran on different test hardware from the Mac OS X and engine benchmarks.

    Technorati Tags: , , , , , , , ,

iPhone – Just Like Developing For Nintendo

Sunday, September 14th, 2008

DOOM and GLOOM! The blogosphere is whining about Apple’s recent App Store rejections. (Surprisingly, even John Gruber.) Only Mikey has a contrarian view, but sadly always has Facebook on the brain.

Look, developing for iPhone is just like developing for a Nintendo console.

Nintendo owns the hardware. Nintendo owns the distribution mechanism. Nintendo doesn’t publish rules on what you can and cannot build.

And they do just fine. Many developers still develop great stuff for Nintendo DS and Wii. Why? It’s successful and profitable. And Nintendo is far more of a pain in the ass than Apple.

Common sense says: You’re not going to develop an Italian plumber 2D platform scroller for a Nintendo DS. Even if you were thinking about it, you’d talk to Apple about it first.

Should Apple get a free pass then? No.

Does this mean App Store is doomed? It hasn’t doomed Nintendo (not yet anyway).

Will Apple innovate over Nintendo and reverse their decision? Yes, and I’m sure it’s coming soon.

Technorati Tags: , , , ,

Skia Source Code Released

Tuesday, September 2nd, 2008

Hitching a ride on the Google Chrome / Chromium release today, the Skia graphics rendering engine that is the graphics heart of Android and Google Chrome (when there’s no GPU around) and part of the Skia acquisition was released today. Skia’s GL source code was briefly leaked in early 2007.

http://src.chromium.org/viewvc/chrome/trunk/src/skia/

Skia does have some similarities to Openwave’s (now Purple Labs) V7 vector graphics engine. (as they both come from Mike Reed’s companies) But that’s purely a coincidence, I’m sure. ;-)

If you’re doing work in mobile vector graphics or image rendering on constrained mobile devices, you really should check out the source code and have a look. Skia is quite elegant in its simplicity and power, a great combination.

Now if only we know how TAT worked …

Technorati Tags: , , , ,