On Sat, 2014-08-16 at 23:09 +0200, Tomas Vondra wrote: > But maybe the inheritance really is not necessary - maybe it would be > enough to track this per-context, and then just walk through the > contexts and collect this. Because my observation is that most of the > time is actually spent in walking through blocks and freelists.
That makes a lot of sense to me. Another approach is to pass a flag to hash_create that tells it not to create a subcontext. Then we don't need to traverse anything; we already know which context we want to look at. Perhaps I was being too clever with the idea of tracking space for an entire hierarchy. Also, as I pointed out in my reply to Robert, adding too many fields to MemoryContextData may be the cause of the regression. Your idea requires only one field, which doesn't show the same regression in my tests. Regards, Jeff Davis -- Sent via pgsql-hackers mailing list (firstname.lastname@example.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers