You can clone with
Port the C code to emscripten and benchmark it.
Going the asm.js route or just need to know if it's faster before porting 6.2?
I used the Emscripten compiled box2d.js and really did not like the interface. It's one of the reasons I switched to Chipmunk-js. I think it'll be a great thing to have but I hope it doesn't come at such a heavy cost. It's pretty nice not having to use getters and settings for everything. The other thing is will it really take care of GC given how the library is used....? Can't wait to find out :)
I want to know how much faster it is on firefox, how much slower on chrome and how much bigger it ends up. Especially if V8 ends up implementing the same optimizations, and especially because we have a great benchmarking library in ChipmunkJS.
Shame to hear that we'd need getters & setters for everything, though ChipmunkJS is currently a bit of a gross mixed bag at the moment anyway.
I tried it out. Its 2-3x as much code, but way faster. Chipmunk moves from taking ~8x the time in C to ~1.4x the time. (At least in that test, its only 40% slower)http://chipmunk-physics.net/forum/viewtopic.php?f=1&t=2806&sid=164cfa132f3c828edf9cd0bc9ef0a39f
[Edit: sorry, 1.4x, not 1.7x]
Agree. - Though I'm not sure what the best way to expose the API to JS is. In C, vectors live on the stack not the heap.
All options are bad. :/
@nornagon ping for opinion
I like option 2 best.
Impressive results - it's a shame to lose the nice OOP layer you've added on top - so perhaps there's a way to wrap it (although im sure it'd cost us some, there seems to be plenty of performance to spare (8x!) )
Yeah I agree. Once you have your space set up, way more work happen inside chipmunk than over the chipmunk <-> JS layer.
Hey @josephg have you worked on this at all recently? I am using chipmunk-js in a game engine, and am highly interested in a faster and more up-to-date js port of Chipmunk2D. Any news?
In short, no news, no updates. If you're keen to take a stab at it, be by guest.