Hacker News new | past | comments | ask | show | jobs | submit login

Using https://lukewagner.github.io/test-tanks-compile-time/

Chrome 63: 3143.7ms (3.9mb/s)

Firefox 57: 1499ms (8.3mb/s)

Edge 41: 97.3ms (127.2mb/s) !!!




To wit, as described in their blog post: https://blogs.windows.com/msedgedev/2017/04/20/improved- Edge validates and compiles wasm code lazily. Thus, this simplistic benchmark isn't really measuring compile time on Edge. In contrast, Firefox, Chrome and Safari are doing some amount of AOT compilation before WebAssembly.instantiate() resolves.


Here's a stupid question, but is the result of the Firefox and Chrome "instantiate" the exact same? Is the compilation doing the same job, or one could be performing more optimizations? Aka faster compilation but slower execution.


They're doing slightly different things, but not to nearly the extent of Edge which is doing something very different.


Could someone explain how Edge is performing so well or any references to what they have done in this regard? Has the Edge team already implemented this streaming and tiering compiler technique?


You tell Edge, "compile this", Edge replies "done!" when what it has done is just verifying it's valid WASM. When you then call a function, it's compiled.


So it is actually sad. It means you just downloaded a lot of stuff and only used a fraction of it.


Wow.

Firefox 59: 474 ms

Edge 41: 164 ms

The difference is smaller with newer FF, but that is amazing from Edge!


Edge is doing something very different, see the sibling comments for details.


Firefox nightly on Linux: 165.6 ms (74.8 MB/s)

Chromium: 1835 ms (6.7 MB/s)




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: