Well, I didn't give it a ton of thought because even a crappy small CMS makes such an incredible difference; the main thing is to reliably identify the large keys without including *too* many of the small keys, and it doesn't take much to do that.

10MB seems reasonable. My guess is that we want to make this CMS deeper and narrower than usual: we care less about the precision of the estimates than we do about false positives where a key spuriously registers as large. But depth has diminishing returns... even depth 20 is probably complete overkill. And at 10MB that would put us at width 100,000, is that right?

Suggestions?