Answers.Body: <p>An engine's <a href="https://chess.stackexchange.com/a/12663/27084">hash table</a> is a data structure where the engine stores positions and evaluations which it already calculated.</p>
  <p>The parameter <em>hashfull</em> tells what permille full the hash is, i.e. how full it is on a scale of 0-1000.  Hashfull 0 means that the hash is empty, no data is being stored.  Hashfull 1000 means that the hash is full, and no more data can be stored.</p>
  <p>If the hash is always full, then the engine could perform better with a larger hash (if you have more memory available for this)</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-01-07T00:04:45.900Z
Answers.LastActivityDate: 2022-01-07T00:04:45.900Z
Answers.UserDisplayName: Edward
Body: <p>When I use Stockfish, the &quot;hashfull&quot; value climbs up to 1000 and then stays there. I was wondering what this means.</p>
  <p>The documentation says :</p>
  <p><code>* hashfull &lt;x&gt; the hash is x permill full, the engine should send this info regularly</code></p>
  <p>But this doesn't help me to understand what it means.</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-09-24T05:20:46.353Z
Comments.Text: Maybe "permill" is confusing since it means out of 1000, like percent means out of 100. It's a very rare word and this is the only time I've seen it in practice, where maybe it is influenced by UCI's creators' German background. https://en.wikipedia.org/wiki/Per_mille
Comments.UserDisplayName: qwr
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-01-05T14:40:19.147Z
Comments.Text: It means what it says, the engines transposition table where it stores some information about the search so far, is 1000 permill full, i.e. full. In practice it means you may consider giving the engine more hash memory to use. The transposition table being filled up means the search will continue somewhat less efficiently, although it will still work just fine.
Comments.UserDisplayName: koedem
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-01-05T15:53:20.683Z
Comments.Text: I don't understand why this question is still closed.  It's a straightforward, answerable question about one parameter returned by engines using the universal chess interface.  The close reason says "needs details or clarity."  The only detail I could think to add is adding the UCI tag, but the question *did* have that tag, and someone removed it.
Comments.UserDisplayName: Edward
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-01-06T17:35:55.460Z
Comments.Text: @TobyHarnish I'm pretty sure this question would be offtopic on StackOverflow. The user is not asking about how to program something but rather how to interpret the output of a *chess* program. If there is a SE to ask this I would say it is here. Unless of course one argues this in general doesn't belong on a StackExchange page.
Comments.UserDisplayName: koedem
Tags: <engines><stockfish><programming>
Title: What does "hashfull 1000" mean in Stockfish?
ThreadText: # What does "hashfull 1000" mean in Stockfish?
  
  (Asked by: username_0 on 2021-12-28)
  
  When I use Stockfish, the "hashfull" value climbs up to 1000 and then stays there. I was wondering what this means.
  
  The documentation says :
  
  `* hashfull <x> the hash is x permill full, the engine should send this info regularly`
  
  But this doesn't help me to understand what it means.
  
  **Tags:** engines, stockfish, programming
  
  > **Comments:**
  > **username_2**: It means what it says, the engines transposition table where it stores some information about the search so far, is 1000 permill full, i.e. full. In practice it means you may consider giving the engine more hash memory to use. The transposition table being filled up means the search will continue somewhat less efficiently, although it will still work just fine.  
  > **username_3**: I don't understand why this question is still closed.  It's a straightforward, answerable question about one parameter returned by engines using the universal chess interface.  The close reason says "needs details or clarity."  The only detail I could think to add is adding the UCI tag, but the question *did* have that tag, and someone removed it.  
  > **username_2**: @TobyHarnish I'm pretty sure this question would be offtopic on StackOverflow. The user is not asking about how to program something but rather how to interpret the output of a *chess* program. If there is a SE to ask this I would say it is here. Unless of course one argues this in general doesn't belong on a StackExchange page.  
  > **username_1**: Maybe "permill" is confusing since it means out of 1000, like percent means out of 100. It's a very rare word and this is the only time I've seen it in practice, where maybe it is influenced by UCI's creators' German background. https://en.wikipedia.org/wiki/Per_mille  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_3 on 2022-01-07. Score: 4
  
  An engine's [hash table](https://chess.stackexchange.com/a/12663/27084) is a data structure where the engine stores positions and evaluations which it already calculated.
  
  The parameter *hashfull* tells what permille full the hash is, i.e. how full it is on a scale of 0-1000. Hashfull 0 means that the hash is empty, no data is being stored. Hashfull 1000 means that the hash is full, and no more data can be stored.
  
  If the hash is always full, then the engine could perform better with a larger hash (if you have more memory available for this)
  
  
  ---
  
  