Closed Bug 1515620 Opened 3 years ago Closed 3 years ago
Investigate bad performance with Gameboy emulator
Url for reference: https://medium.com/@torch2424/webassembly-is-fast-a-real-world-benchmark-of-webassembly-vs-es6-d85a23f8e193 Looking at the regular spikes in JS slowness here, and the fact that the closure-compiled version does not have the same spikes, I suspect that this is GC related. The closure compiler should eliminate a number of temporary object allocations, and probably kills lot of of the extra allocations that might be leading to GC pressure. For ease of reference, we care about the middle section of the set of graphs a third of the way down the page. Needinfoing sfink.
The non-integer input to the |load| function looks like a bug in WasmBoy to me. While it'd be nice if non-integer inputs are better handled for typed array accesses or alternatively Ion gets taught to avoid trying to inline the same spot over and over again when bailouts were already observed a million times, the main problem here is probably an issue to be fixed in WasmBoy...
Filed <https://github.com/torch2424/wasmBoy/issues/216> against the wasmBoy project.
Thanks André for this precise analysis!
Status: NEW → RESOLVED
Closed: 3 years ago
Priority: -- → P2
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.