From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-hackers(at)postgresql(dot)org, Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com> |
Subject: | Re: Large writable variables |
Date: | 2018-10-16 06:33:17 |
Message-ID: | 20181016063317.xjfd2dnlhy6tg5gx@alap3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
On 2018-10-16 01:59:00 -0400, Tom Lane wrote:
> I wrote:
> > Andres Freund <andres(at)anarazel(dot)de> writes:
> >> top unitialized allocations:
> >> 0000000008435040 0000000000085280 b DCHCache
> >> 0000000008391168 0000000000043840 b NUMCache
>
> > Here's a patch to improve that situation.
>
> Hm, looking at that more closely, there's a problem with the idea of
> allocating the cache slots one-at-a-time. Currently,
> sizeof(DCHCacheEntry) and sizeof(NUMCacheEntry) are each just a bit more
> than a power of 2, which would cause palloc to waste nearly 50% of the
> allocation it makes for them.
Hm, that's a bit annoying...
> We could forget the one-at-a-time idea and just allocate the whole
> array on first use, but I feel like that's probably not a good answer.
I suspect it'd be fine, but obviously we can do better.
> Also, I noticed that the biggest part of those structs are arrays of
> FormatNode, which has been designed with complete lack of thought about
> size or padding issues. We can very easily cut it in half on 64-bit
> machines.
Heh, neat. I feel like we've paid very little attention to that in a
myriad of places :(
Greetings,
Andres Freund
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Kapila | 2018-10-16 06:51:07 | Re: Pluggable Storage - Andres's take |
Previous Message | Andres Freund | 2018-10-16 06:30:13 | Re: Large writable variables |