Next, have a look at the Epic Citadel[2], which runs very smoothly in Firefox 22. Well done!
[1] http://kripken.github.io/lua.vm.js/lua.vm.js.html [2] http://www.unrealengine.com/html5/
Next, have a look at the Epic Citadel[2], which runs very smoothly in Firefox 22. Well done!
[1] http://kripken.github.io/lua.vm.js/lua.vm.js.html [2] http://www.unrealengine.com/html5/
That said, I'm very excited about asm.js (using it, in fact) and the performance in FF 22 blows me away as well. The V8 team appears to be working on asm.js optimisations, so soon we can have a fair contest :)
The best thing about asm.js is that the optimisations are really optional, unless your application is actually CPU-bound. The Unreal Engine probably is, to some degree. A simple 2D game like the one I'm working on certainly isn't. Not seeing it run any faster with FF 22, it's already smooth in older versions.
Actually Chrome has been optimizing for compiled C++ for a long time - Google even added Mandreel code to the Octane benchmark - and for asm.js specifically (which is a particular type of compiled C++) in recent months, as you can track here
http://arewefastyet.com/#machine=11&view=breakdown&suite=asm... http://arewefastyet.com/#machine=11&view=breakdown&suite=asm...
https://github.com/dvander/arewefastyet/blob/master/driver/b...
edit: btw, is there a simple way to build just the JSC shell on Linux? I can't find one.
I'm not familiar with building just JSC on Linux, but last time I looked in to it the only way to build JSC was as part of building all of WebKit.
python harness.py [SHELL_NAME]
and it runs all the benchmarks in that directory using that shell.
Regarding building, I've tried to build all of the Qt port on Linux (what the online guides mention), but always fail in the dependencies. Perhaps I'll try the gtk port.
1. Some of the tests use shell functions like "read" that jsc doesn't provide. This is easy enough to address.
2. I was mistaken about the quality of the typed array support in JavaScriptCore. While the interpreter has knowledge of typed arrays, the actual implementation that's used when running in-browser lives in WebCore rather than in JavaScriptCore. When running in the shell only a bare minimum typed array implementation, primarily intended for JSC-only regression tests, is available. This trips up some tests since the implementation is much less complete than the one in WebCore.
Am I correct in assuming that if JavaScriptCore starts successfully executing the tests, it'll automatically start showing up on the relevant part of arewefastyet.com?
I am not sure about automatically showing up, but that would be my guess. I can ask dvander (who runs awfy) for more details if that would be useful. In any case probably it is very easy to change (disable/enable).
Of course, the Lua VM test is compiled to asm.js, so of course Firefox does really well right now. Exciting nonetheless - this opens so many possibilities.
• Firefox nightly 25.0a1 (2013-06-26): 403 points
MBP i7 2.2Ghz