I'm not in love with giant pickle memos myself, but to reduce expectations closer to reality, note that each dict entry consumes at least 18 bytes (we keep the load factor under 2/3, so there's at least one unused entry for every two real entries; it's an indirect overhead, but a real one).
Is there perhaps a more memory-efficient data structure that could be used here instead of a dict? A b-tree, perhaps, which with a suitable bucket size could use no more than about 8 byte per entry -- 4 for the object reference and 4 for the integer index that it maps to. Greg Ewing, Computer Science Dept, +--------------------------------------+ University of Canterbury, | A citizen of NewZealandCorp, a | Christchurch, New Zealand | wholly-owned subsidiary of USA Inc. | greg@cosc.canterbury.ac.nz +--------------------------------------+