So no, it is just just some Javascript program.
And as far as I know, essentially every modern chess engine uses a hashtable of positions such that transpositions are essentially free. This isn't a unique "quirk" of Stockfish.
So no, it is just just some Javascript program.
And as far as I know, essentially every modern chess engine uses a hashtable of positions such that transpositions are essentially free. This isn't a unique "quirk" of Stockfish.
Running Stockfish 30% to 40% slower for no reason at all, and with far less RAM / resources means that you'll get weaker analysis at slower speeds.
And those "tuning options" include tablebases, which would provably play perfectly (and Stockfish is smart enough to "think" with tablebases: if it can prove a won position with a tablebase, it won't bother exploring and will just report the mate-in-300 immediately)
Every single sliding piece (ie: Rooks, Bishops, and Queens) use PEXT (or magic-bitboards if the PEXT code is unavailable) to determine where to go. Its a fundamental calculation to determine very, very quickly which moves are legal or not.
Both PEXT and Magic Bitboards are incredible techniques for solving the sliding-piece question. However, PEXT is much much much faster, but relies upon an obscure x86-only assembly instruction (that is slower on AMD Zen or Zen2 unfortunately. So you still need to know your hardware details, Intel machines should use the PEXT version).
---------
Still, even AMD users want the BMI2 version, which has a bunch of bit-operations that can be optimized that are used all the time. (And besides, AMD Zen3 is actually faster on PEXT now, so PEXT is looking good for the future)
-----
In either case, I have my doubts that the NNUE neural-net runs anywhere near as good on WASM than on the hand-optimized SIMD / AVX kernels that the Stockfish team wrote.
Even if there's some auto-vectorization that WASM can do, its really hard to beat handcrafted assembly / intrinsics (https://github.com/official-stockfish/Stockfish/blob/master/...)
Both Magic Bitboards and PEXT are run every single time Stockfish thinks of a Queen, Bishop, or Rook. Literally every, single, time.
Stockfish does something like 10-million positions per second or something. That's a lot of times the "where can the Queen move" analysis is run. Speeding that routine up by 50% or something (PEXT vs Magic Bitboards) really does make a difference in the great scheme of speed.
----------
Unless you're playing some fantasy-version of Chess (or maybe some extreme endgame where all pawns, queens, bishops, and rooks are dead... pawns because they might promote into a queen/bishop/rook), you'll be benefiting from selecting that PEXT version if you're on an Intel or Zen3 processor.
EDIT: Both PEXT and Magic Bitboards have a "Setup" phase that is run once. But there's also a separate phase that is run on every single position in the actual chess-board part.
I should probably know this, since I "discovered" PEXT bitboards, but I got out of computer chess before I got BMI-capable hardware, and so I never actually implemented them :)
Even if 100% true, this is a complete non-issue. Absolutely nobody reading this comment is going to notice a meaningful difference or benefit from running their games against a 3550 Elo engine running hand-optimized x86 instructions versus a 3200 Elo engine running in WASM in the browser.
The extreme convenience of pressing one button to receive high-quality analysis (and ongoing live analysis powered by a WASM engine) beats the annoyance of exporting your games to PGN and importing them into an external UI just for the sake of analyzing your games even farther past the horizon that humans will ever truly be able to understand. If you're a competitive GM or Super GM? Sure, maybe that level of analysis will help you find unexplored lines for your preparation. Fro anyone else? It's completely irrelevant.
Its one button click for me.
"Download .PGN" button -> open with SCID vs PC (which I setup as the default app for PGNs).
I hit "F2" and bam, analysis is going on already. Sure, you have to set it up so that the F2 engine is Stockfish / tuned parameters as appropriate, but in the long run, having control of this is clearly beneficial. Especially if you're going to be using computer analysis to teach yourself more advanced tactics.