On 04/26/2016 07:43 PM, Emilio G. Cota wrote: > How does the following look? > > Example with good hashing, i.e. func5(phys_pc, pc, flags): > TB count 704242/1342156 > [...] > TB hash buckets 386484/524288 (73.72% used) > TB hash occupancy 32.57% avg chain occupancy. Histogram: > 0-10%▆▁█▁▁▅▁▃▁▁90-100% > TB hash avg chain 1.02 buckets. Histogram: 1█▁▁3 > > Example with bad hashing, i.e. func5(phys_pc, 0, 0): > TB count 710748/1342156 > [...] > TB hash buckets 113569/524288 (21.66% used) > TB hash occupancy 10.24% avg chain occupancy. Histogram: > 0-10%█▁▁▁▁▁▁▁▁▁90-100% > TB hash avg chain 2.11 buckets. Histogram: 1▇▁▁▁▁▁▁▁▁▁93 > > Note that: > > - "TB hash avg chain" does _not_ count empty buckets. This gives > an idea of how many buckets a typical hit goes through. > > - "TB hash occupancy" _does_ count empty buckets. It is called > "avg chain occupancy" and not "avg occupancy" because the > counts are only valid per-chain due to the seqlock protecting > each chain.
Looks really good. r~