Re:Moving from TypeScript to Rust / WebAssembly
by v_pragma on Thursday July 09, 2020 @04:25AM
(#23778088)
Unfortunately, no, it's a commercial closed-source project. I profiled both JS and WA versions, the hottest methods took basically the same amount of time in both versions, except that WA build additionally spend ~25% of all time in __retain or something like that.
[ Parent
| on HN ]
Re:Moving from TypeScript to Rust / WebAssembly
by maxgraey on Thursday July 09, 2020 @04:42AM
(#23778182)
Do you intensive use small objects like Vec3, Quaternion and etc? AS hasn't scalar replacement optimization pass yet which JavaScript definitely has. Also it will be much better after implementing tuple / records which depends on multi-value proposal for now. All this significantly reduce ARC / memory pressure. But my assumption it could be also wrong measurement. Most of people uses benchmark.js which also measure js <-> wasm interop overhead which usually main bottleneck.
Re:Moving from TypeScript to Rust / WebAssembly
by v_pragma on Thursday July 09, 2020 @04:52AM
(#23778234)
> AS hasn't scalar replacement optimization pass yet which JavaScript definitely has. Also it will be much better after implementing tuple / records which depends on multi-value proposal for now.
Yes, I do use a lot of small objects. That's an interesting information, I'll keep an eye on multi-value proposal, thank you!
> Most of people uses benchmark.js which also measure js <-> wasm interop overhead which usually main bottleneck.
Nope, I loaded all the data into WA module upon initialization and don't perform any additional synchronization between WA and JS afterwards (which is also kind of unfair advantage for WA).