On Mon, Aug 28, 2017 at 9:08 PM, Nathan Sidwell <nat...@acm.org> wrote: > Some quick tests show that memory use increased by 1.5% Compilation time > reduced by 1% to 3% > > Your comment on IRC about not needing a identifier->decl map, just a decl > hash, because the decl already has the identifier is a good one. I recall > considering that when converting namespaces, but there the anonymous > namespace has a NULL name, which is annoying. I just used the same map > table here. > > However, it's probably worth the effort. > > It'd also be nice if the hash table primitive didn't unconditionally hold > instrumentation counters. AFAICT they only get folded to global counters > upon destruction of the hash table. Which for these things never happens.
There's some debug methods like ::collision that use the fields. I think for embedding hash_table it would be nice to subclass it, have hash_table_embed not including those fields / methods and have hash_table derive from it. Not sure what to do about things like hash_map and hash_set -- either template them on the hash-table type or always use the embed variant and see if sth blows up. Richard. > Remember, when I succeed in folding METHOD_VEC into the same structure, > we'll have several members in this table for all but the simplest of > structures. > > nathan > > -- > Nathan Sidwell