Answers.Body: <p>Depends on what you currently have. GPU won't help at all, since Stockfish runs on CPU.</p>
  <p>If you are using tablebases (which really help with perfomance a lot!) put them on faster NVMe disks. Even 6-piece tablebases help a lot - even in middlegame scenarios, since engine can stop calculating a line once it reaches a tablebase position.</p>
  <p>If Stockfish on your system tends to run out of hash memory quickly, get some more RAM (and don't forget to adjust UCI settings to actually use it!).</p>
  <p>If you still need more perfomance invest into better CPU. Stockfish makes good usage of multiple cores. Again, don't forget to adjust UCI settings.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-08-09T11:44:54.127Z
Answers.LastActivityDate: 2024-08-09T11:44:54.127Z
Answers.UserDisplayName: Matija Sirk
Body: <p><a href="https://chess.stackexchange.com/a/46018/12957">This answer</a> mentioning memory access speed made me curious: what is the bottleneck in a modern chess engine such as Stockfish? CPU speed, memory size, memory access speed, etc.</p>
  <p>In other words, if I want to make my home computer running Stockfish faster, what should I invest on? More RAM, faster RAM, faster processor, more cores, a GPU...</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2024-08-09T13:07:19.267Z
Comments.Text: I would start with trying 64 bit wide memory channels **many** more memory channels then standard with many simple inorder CPUs to keep the memory reed buffer filled.   ARM would sell you the basic building blocks then you need to pay for the fabrication of the CPU cluster.  Many terabytes of ram is a given.....  Likeky put ram in same package like Apple have done but with very different ram layout due to low locality of reference for memory reads.  (I assume you well sell a central London home to pay for the computer....)
Comments.UserDisplayName: Ian Ringrose
Tags: <engines><hardware>
Title: What is the bottleneck of a chess engine?
ThreadText: # What is the bottleneck of a chess engine?
  
  (Asked by: username_0 on 2024-08-09)
  
  [This answer](https://chess.stackexchange.com/a/46018/12957) mentioning memory access speed made me curious: what is the bottleneck in a modern chess engine such as Stockfish? CPU speed, memory size, memory access speed, etc.
  
  In other words, if I want to make my home computer running Stockfish faster, what should I invest on? More RAM, faster RAM, faster processor, more cores, a GPU...
  
  **Tags:** engines, hardware
  
  > **Comments:**
  > **username_1**: I would start with trying 64 bit wide memory channels **many** more memory channels then standard with many simple inorder CPUs to keep the memory reed buffer filled.   ARM would sell you the basic building blocks then you need to pay for the fabrication of the CPU cluster.  Many terabytes of ram is a given.....  Likeky put ram in same package like Apple have done but with very different ram layout due to low locality of reference for memory reads.  (I assume you well sell a central London home to pay for the computer....)  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2024-08-09. Score: 2
  
  Depends on what you currently have. GPU won't help at all, since Stockfish runs on CPU.
  
  If you are using tablebases (which really help with perfomance a lot!) put them on faster NVMe disks. Even 6-piece tablebases help a lot - even in middlegame scenarios, since engine can stop calculating a line once it reaches a tablebase position.
  
  If Stockfish on your system tends to run out of hash memory quickly, get some more RAM (and don't forget to adjust UCI settings to actually use it!).
  
  If you still need more perfomance invest into better CPU. Stockfish makes good usage of multiple cores. Again, don't forget to adjust UCI settings.
  
  
  ---
  
  