18.4.0 released Sep 25, 2023
Resize hash

Purpose: Resize hash table.

resize-hash <hash> size <new size>

resize-hash will resize hash table <hash> (created by new-hash) to size <newsize>, which refers to the number of "buckets", or possible hash codes derived from keys stored.

When a number of elements stored grows, the search performance may decline if hash table size remains the same. Consequently, if the number of elements shrinks, the memory allocated by the hash table may be wasted. Use get-hash to obtain its current size, its length (the number of elements currently stored in it) and the statistics (such as average reads) to determine if you need to resize it.

Resizing is generally expensive, so it should not be done too often. The goal is to amortize this expense through future gain of lookup performance. For that reason it may be better to resize proportionally (i.e. by a percentage), unless you have a specific application reason to do otherwise, or to avoid exponential growth.
Examples
resize-hash h size 100000

See also
Hash table
get-hash  
new-hash  
purge-hash  
read-hash  
resize-hash  
write-hash    
See all
documentation


You are free to copy, redistribute and adapt this web page (even commercially), as long as you give credit and provide a link back to this page (dofollow) - see full license at CC-BY-4.0. Copyright (c) 2019-2023 Dasoftver LLC. Vely and elephant logo are trademarks of Dasoftver LLC. The software and information on this web site are provided "AS IS" and without any warranties or guarantees of any kind.