If you set 10,000 you will be using 10 thousand times more memory than if you used.. say, 1000, which would be sufficient according to the docs.

Of course generally speaking we're only talking about 200kb to 2mb more memory (depending on the internal size of the hash table), but it's still plenty more. If you're making many of these tables they will add up.

The reason is a hash table expands dynamically.. there's some hash table theory behind the size of N that can be explained on google, it's a bit too heavy to go into detail here. The rule of thumb is "expected size divided by 10" if the expected size is big. If you know the exact size and it's relatively small, you can set that exactly.. like N=100

To visualize a table you can loop through it with $hget(name, %i) .. There is probably a snippet out there somewhere to do this... check http://www.mirc.net or http://www.mircscripts.org for that.


- argv[0] on EFnet #mIRC
- "Life is a pointer to an integer without a cast"