in reply to Benchmark of hash emptiness test
If you evaluate a hash in scalar context, it returns false if the hash is empty. If there are any key/value pairs, it returns true; more precisely, the value returned is a string consisting of the number of used buckets and the number of allocated buckets, separated by a slash. This is pretty much useful only to find out whether Perl's internal hashing algorithm is performing poorly on your data set. For example, you stick 10,000 things in a hash, but evaluating %HASH in scalar context reveals "1/16", which means only one out of sixteen buckets has been touched, and presumably contains all 10,000 of your items. This isn't supposed to happen.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Benchmark of hash emptiness test
by aufflick (Deacon) on Nov 10, 2006 at 00:46 UTC | |
by demerphq (Chancellor) on Nov 10, 2006 at 10:34 UTC | |
by Hofmator (Curate) on Nov 10, 2006 at 10:55 UTC | |
by demerphq (Chancellor) on Nov 10, 2006 at 13:02 UTC | |
by aufflick (Deacon) on Nov 12, 2006 at 12:12 UTC |