WebAssembly is supported as well. It has become much faster a few months back when it supported WebAssembly. On my system and using forefox it was 340 knodes/s with asm.js. With WebAssembly it is 600+ knodes/s
I was suspecting so. I presume whoever did it followed the link, noticed the engine was using asm.js and not wasm, and thought I was mistaken. But truly what the engine uses depends on the browser and its configuration.
WASM and asm.js require the same patches (https://github.com/niklasf/stockfish.js). Most notably WASM does not yet have multi-threading. In the original Stockfish one dedicated thread is listening for new commands. Instead now the main search thread (since it's the only thread) has to check for new commands from time to time, which costs a bit of performance.
7 comments
[ 4.8 ms ] story [ 26.7 ms ] thread(maybe someone more familiar with the lichess architecture could go into a bit more depth here)
PNaCl required almost no modifications to Stockfish (https://github.com/niklasf/stockfish.pexe), supports multithreading and is still the fastest.
WASM and asm.js require the same patches (https://github.com/niklasf/stockfish.js). Most notably WASM does not yet have multi-threading. In the original Stockfish one dedicated thread is listening for new commands. Instead now the main search thread (since it's the only thread) has to check for new commands from time to time, which costs a bit of performance.