On 01/04/2014 06:14 PM, Eric Wong wrote:
> Potential for future improvement:
> 
> st_table and st_table_entry are both 48 bytes on 64-bit.  That means
> those allocations may use 64-byte object slots and avoid going through
> normal malloc.  AFAIK, glibc malloc (and probably other allocators) can
> have around 2 words internal overhead, even, so we can avoid that
> overhead by using Ruby object slots for those.

This sounds interesting, but at the same time doing so increases GC
pressure so might impact negatively.  Ruby's GC sweeps without compaction
so a long-lasting hash could introduce additional data fragments?  Anyway
worth trying.