Teodor Sigaev <teodor@sigaev.ru> writes:
>> on 32bit from 27MB (3399 blocks) to 13MB (1564 blocks)
>> on 64bit from 55MB to cca 27MB.
> Good results. But, I think, there are more places in ispell to use hold_memory():
> - affixes and affix tree
> - regis (REGex for ISpell, regis.c)
I fixed the affix stuff as much as possible (some of the structures are
re-palloc'd so they can't easily be included). It appears that hacking
up regis, or any of the remaining allocations, wouldn't be worth the
trouble. Using the Czech dictionary on a 32-bit machine, I see about
16MB going through the compacted-alloc code and only about 375K going
through regular small palloc's.
regards, tom lane