Actually I'm pretty sure it isn't the name cache that's
the problem. This function is called with the same 10 or 20
names over and over. Besides, when I re-wrote it there
was no memory leak--but I still used the name cache.
I am going to look at some of the packages you
(chromatic) and tilly
suggested so far though!