Ask HN: Discrepancy between Lichess and Stockfish

Chess app says it’s faster—but thinks slower? Lichess vs Stockfish sparks speed drama

TLDR: Lichess shows big speed numbers but can be slower because it likely runs multi-line analysis, exploring several moves at once. The community split between “check the code and settings” and “maybe it’s offloading to Fishnet,” with a Stockfish dev confirming MultiPV is the real reason—and why the speedometer can mislead.

A phone-toting chess fan asked why Lichess’s built‑in engine looks lightning fast—showing about 1,000,000 “nodes per second” (a speed counter)—yet needs roughly 2:30 to reach “depth 30,” while their local Stockfish (at 600,000 nodes per second) hits depth 30 in just 53 seconds. Cue the comment circus. Open‑source detectives jumped in first: “Go read the code,” said one, dropping the lichess-org link like a mic. Others cried “multi-line mode!”—that’s when the engine shows several top moves at once, which looks busier but spends time exploring extra ideas, not just the best line.

Then the plot twist: a Stockfish dev appeared, calmly explaining Lichess likely runs MultiPV (multi-line) with around five top moves, while desktop defaults to just one. That means more thinking paths, slower depth—no conspiracy, just settings. Another commenter urged checking your browser’s Network tab to ensure analysis is truly local and not offloaded to Lichess’s Fishnet workers. Someone else waved people toward the Stockfish Discord for a verdict. The memes wrote themselves: “MN/s = Marketing Numbers per second,” “Redmi vs red herring,” and “Lichess is just more chatty.” The community vibe: don’t trust the flashy speedometer—trust the settings.

Key Points

  • Lichess’s browser-based Stockfish shows close to 1 MN/s on a Redmi Note 14 Pro.
  • A local Stockfish executable driven via Python reports around 600 kN/s on the same device.
  • Lichess takes about 2:30 to reach depth 30, while the local setup reaches depth 30 in about 53 seconds.
  • The author suspects differences in N/s measurement (instantaneous vs average) and search configuration (e.g., MultiPV, continuous search, hash reuse).
  • Potential UI/I/O overhead and inconsistent definitions of “depth 30” across frontends may contribute to the discrepancy.

Hottest takes

“Most of Lichess is open source” — frenchtoast8
“Confirm… you are going 100% local… you’re offloading some analysis to Fishnet” — y-curious
“Hi, I work on Stockfish—Lichess runs MultiPV, showing top 5 moves” — anematode
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.