How Hardware Affects Your Chess Analysis

CPU cores, hash size, and why your laptop analyzes differently than a server

ChessOnyx · · 7 min read

Hardware Engine Technical

When you run a chess engine, you are not just running a program — you are asking your computer to explore millions of chess positions per second, evaluate each one, and report back with its best assessment. How well it does this depends directly on the hardware it runs on. Yet this critical factor is almost never discussed on chess platforms.

Understanding the relationship between hardware and analysis quality is essential for anyone who takes chess improvement seriously. It explains why the same position can produce different evaluations on different devices, and why "depth 20" on your phone is not the same as "depth 20" on a powerful desktop.

CPU: The Brain Behind the Analysis

Chess engines like Stockfish are CPU-intensive applications. They spend their time building and searching through game trees — branching sequences of moves and responses that extend many moves into the future. The faster your CPU, the more positions the engine can evaluate per second (measured in "nodes per second" or NPS).

A modern desktop CPU might evaluate 30-50 million nodes per second with Stockfish, while a mobile processor might manage 3-8 million. This roughly 5-10x difference in speed translates directly into analysis depth. In the same amount of time, the desktop reaches significantly deeper into the position, finding tactical sequences and strategic nuances that the phone simply does not have time to discover.

Multi-core processors provide an additional advantage through multi-threaded search. When Stockfish uses 8 threads instead of 1, it does not simply search 8 times faster — the scaling is more complex due to coordination overhead — but it does reach meaningfully deeper depths in the same time. This is why server-based analysis on platforms typically outperforms client-side analysis.

Hash Tables: Memory Matters

The transposition table (commonly called "hash") is a memory structure that stores positions the engine has already evaluated. When the engine encounters the same position through a different move order — which happens constantly in chess — it can look up its previous evaluation instead of recalculating from scratch.

The size of the hash table directly affects analysis quality. With more hash memory, the engine retains more previously analyzed positions, avoiding redundant work. With too little hash, the engine keeps "forgetting" positions it has already seen, wasting computational effort.

A general guideline is to set hash size to about half your available RAM, though for most users, 512 MB to 2 GB is a practical sweet spot. Setting it too high can cause performance problems as the operating system begins swapping memory to disk.

In browser-based analysis like ChessOnyx provides, memory is more constrained. WebAssembly environments have memory limits imposed by the browser, which is one reason why browser analysis, while remarkably capable, cannot quite match a native desktop application with generous memory allocation.

NNUE: The Neural Network Revolution

Modern Stockfish uses NNUE (Efficiently Updatable Neural Network) for position evaluation. This is a neural network trained on hundreds of millions of positions that has dramatically improved Stockfish's positional understanding compared to the traditional hand-crafted evaluation function.

NNUE evaluation is computationally more expensive than the old approach, meaning each node takes slightly longer to evaluate. However, the evaluations are so much more accurate that the engine makes better decisions even at lower depths. The net result is significantly stronger play and more reliable analysis.

The NNUE network itself is a file that is loaded when the engine starts. Different versions of this network produce different evaluations. When comparing analysis across platforms, it is worth knowing that they might be using different NNUE networks, even if they all run "Stockfish."

Browser vs. Desktop vs. Server Analysis

There are three common environments for chess analysis, each with distinct characteristics:

Browser-based analysis (WebAssembly) runs directly on your device through your web browser. It is convenient, requires no installation, and works on any device. However, it is limited by browser memory constraints and typically runs slightly slower than native applications due to WebAssembly overhead. On a modern desktop browser, you can expect solid analysis quality. On a phone, results will be shallower.

Desktop applications (native Stockfish, ChessBase, etc.) can fully utilize your hardware. They have direct access to CPU threads and memory without browser limitations. For serious analysis work, a desktop application on capable hardware provides the best individual experience.

Server-based analysis runs on powerful cloud hardware and delivers results to your browser. This combines the convenience of browser access with the power of server hardware. The trade-off is that you depend on the server's availability and typically cannot customize analysis depth or parameters as freely.

Each approach has its place. ChessOnyx uses browser-based analysis because we believe in giving you direct control over your analysis without requiring installations. Your analysis runs on your device, with no data sent to servers — which also means your games stay private.

What This Means for You

Understanding hardware's role in analysis helps you interpret results more accurately. Here are the practical takeaways:

Do not compare evaluations across different devices or platforms and expect them to match exactly. Differences of 0.1-0.3 in evaluation between your home analysis and a platform's analysis are normal and expected.

If you are doing serious analysis, use the most powerful device available to you. A desktop with a modern multi-core CPU will give you meaningfully better results than a phone.

Give the engine time. On any hardware, letting the engine run longer produces more reliable results. A quick 5-second analysis tells you much less than a 30-second analysis of the same position.

Pay attention to depth, not just time. Depth 25 on a fast computer and depth 25 on a slow phone both represent the same search depth, but the fast computer will get there in seconds while the phone might take minutes. If you are comparing analyses, compare them at similar depths rather than similar times.

The engine is a powerful tool regardless of your hardware. Even on modest devices, modern Stockfish provides analysis that would have been considered superhuman just a decade ago. The key is understanding its limitations on your particular setup and interpreting results accordingly.