Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> writes:
> The problem is in very large small allocations - there are 853215 nodes.
> I replaced palloc0 inside mkSPnode by balloc
This goes back to the idea we've discussed from time to time of having a
variant memory context type in which pfree() is a no-op and we dispense
with all the per-chunk overhead. I guess that if there really isn't any
overhead there then pfree/repalloc would actually crash :-( but for the
particular case of dictionaries that would probably be OK because
there's so little code that touches them.
regards, tom lane