Unraveling Stockfish Performance: Lichess Analysis Speed vs. Local Benchmarks

January 21, 2026

It's a common observation for chess enthusiasts and developers to notice differences in Stockfish's reported performance and depth progression when comparing browser-based analysis (like Lichess) to a local, native setup. This often manifests as Lichess reporting higher Nodes per Second (N/s) but taking longer to reach a specific depth, such as depth 30.

Understanding the Core Discrepancy

The primary reasons for this apparent discrepancy, as highlighted by Stockfish developers, boil down to specific configurations and technical environments:

  • Neural Network (NNUE) Size and Type: Lichess, by default, employs a smaller, custom-trained neural network for its Stockfish analysis. This NNUE net is functionally different from the standard, larger nets (e.g., SF17.1) bundled with native Stockfish binaries. This difference significantly impacts both the reported N/s and the efficiency of the search, influencing how quickly higher depths are reached.
  • Multi-Principal Variation (MultiPV) Mode: Lichess's analysis board typically operates in MultiPV mode, displaying the top N moves (often 3-5). While incredibly useful for comprehensive analysis, this setting instructs Stockfish to explore multiple lines extensively. Consequently, reaching a high nominal depth (like depth 30) takes longer compared to a single-PV search (which is often the default for local setups). The engine might be processing more nodes per second, but that work is distributed across several complex search branches, slowing down the perceived depth progression for any single line.

Practical Tips and Further Considerations

To better understand and potentially align performance, consider these points:

  • Select the "Large Engine" on Lichess: For performance closer to a powerful local setup, head to Lichess's analysis settings and choose the "larger engine" option. This switches to a more robust NNUE net, making comparisons more direct.
  • N/s vs. Depth – A Nuance: A higher N/s indicates the raw processing power of the engine (nodes explored per second). However, this doesn't directly translate to faster depth progression if the search is more complex due to MultiPV or different search configurations. Depth represents the effective search progress, which is impacted by the breadth of the search.
  • WebAssembly (WASM) vs. Native Binary: Lichess runs Stockfish as a WebAssembly (WASM) module directly in your browser. While highly optimized, WASM execution can inherently incur some performance overhead compared to a natively compiled and directly executed binary on your operating system.
  • Thread Configuration: Ensure that both your Lichess setup (if configurable) and your local Stockfish instance are utilizing comparable CPU thread counts for analysis. Differences in thread allocation can drastically alter perceived performance.
  • Stockfish Version Comparison: Always verify that you are comparing similar versions of Stockfish. Significant performance improvements occur between versions.
  • Rule Out Fishnet Offloading: If you suspect Lichess isn't running 100% locally, check your browser's network tab. This helps confirm whether any analysis is being offloaded to Lichess's distributed Fishnet system, which would alter local performance measurements.
  • Leverage Open-Source Resources: Lichess is largely open source, meaning its codebase can be examined to understand how it interacts with Stockfish. Additionally, the official Stockfish Discord server is an excellent community resource for technical questions and insights.

Understanding these underlying differences, whether they are intentional design choices for user experience or technical realities of web-based computation, allows for a more informed comparison and configuration of chess engine analysis tools.

Get the most insightful discussions and trending stories delivered to your inbox, every Wednesday.