Re: Large writable variables
От | Andres Freund |
---|---|
Тема | Re: Large writable variables |
Дата | |
Msg-id | 20181016063317.xjfd2dnlhy6tg5gx@alap3.anarazel.de обсуждение исходный текст |
Ответ на | Re: Large writable variables (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Large writable variables
|
Список | pgsql-hackers |
Hi, On 2018-10-16 01:59:00 -0400, Tom Lane wrote: > I wrote: > > Andres Freund <andres@anarazel.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
В списке pgsql-hackers по дате отправления: