Ask HN: Discrepancy between Lichess and Stockfish
15 points
4 hours ago
| 6 comments
| HN
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?

anematode
1 hour ago
[-]
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.
reply
Viren6
1 hour ago
[-]
I also work on Stockfish, that is not the reason. The reason is because the SF17.1 is functionally different, there is no way to get these to match without changing the net option to be the same as the stockfish binary.

See https://tests.stockfishchess.org/tests/view/69515c60572093c1... and https://github.com/lichess-org/lila/pull/18671

reply
tsoj
42 minutes ago
[-]
I don't work on Stockfish, but I can suggest using ShashChess instead. It is Stockfosh, but on top of that, it has been improved to capture the spirit of the human ingenuity and creativity.
reply
anematode
59 minutes ago
[-]
Viren's been around a lot longer than I have, so I'd trust him instead ;) You can actually run the large net in Lichess (by selecting the larger engine in the dropdown) which would be dispositive.
reply
frenchtoast8
2 hours ago
[-]
Most of Lichess is open source, have you tried looking there to see how Lichess interacts with Stockfish? https://github.com/lichess-org
reply
y-curious
2 hours ago
[-]
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

reply
y-curious
2 hours ago
[-]
reply
eterm
2 hours ago
[-]
The lichess one might be in "multi-line" mode
reply
agalunar
2 hours ago
[-]
You may want to ask in the Stockfish discord: https://discord.com/invite/GWDRS3kU6R
reply
Viren6
1 hour ago
[-]
Lichess uses a smaller net by default. Default lichess net is custom made by stockfish to be small
reply