HACKER Q&A
📣 HNLurker2

Discrepancy between Lichess and Stockfish


I’m trying to understand a discrepancy between Lichess’s analysis board and my own Stockfish setup.

On Lichess (browser-based analysis), Stockfish reports close to 1 MN/s on my Redmi Note 14 Pro. However, when I run Stockfish locally via a Python program using the native executable, I only see around 600 kN/s.

What’s confusing is that despite the higher reported speed, Lichess takes about 2:30 to reach depth 30, while my local setup reaches depth 30 in about 53 seconds, even though it reports a lower N/s. Lichess also appears much more “active” in terms of frequent evaluation updates.

I suspect this has to do with how N/s is measured or displayed (instantaneous vs average), differences in search configuration (continuous search vs restarts, MultiPV, hash reuse), or overhead from the way the engine is driven (e.g., UI or I/O throttling). It also raises the question of whether “depth 30” is directly comparable across different frontends.

Has anyone looked into how Lichess reports Stockfish speed, or why a setup showing higher N/s can still take significantly longer to reach the same nominal depth?


  👤 y-curious Accepted Answer ✓
Confirm in the network tab that you are going 100% local on lichess. My shot in the dark (I don’t contribute to their codebase) is that you’re offloading some analysis to Fishnet[1]

I would rule that out first

1: https://lichess.org/get-fishnet


👤 frenchtoast8
Most of Lichess is open source, have you tried looking there to see how Lichess interacts with Stockfish? https://github.com/lichess-org

👤 agalunar
You may want to ask in the Stockfish discord: https://discord.com/invite/GWDRS3kU6R

👤 eterm
The lichess one might be in "multi-line" mode

👤 anematode
Hi, I work on Stockfish! Likely what's going on is that your Lichess instance is running in MultiPV mode, which displays the top N moves (5 by default, iirc). This can be useful for analysis, but it leads to more time exploring disfavored lines, and therefore lower depth. The desktop version defaults to MultiPV = 1.

👤 Viren6
Lichess uses a smaller net by default. Default lichess net is custom made by stockfish to be small

👤 grumpopotamus
Have you compared the versions of Stockfish in each?

In Lichess I think you can also choose different eval nets. There's a small one and a big one. That will affect N/s.

Have you compared how many threads each are using?

Furthermore, Lichess Stockfish is a WASM build while your local Stockfish is a native binary executable.

Many have already mentioned number of variations will significantly affect time to a certain depth.