Re: Values list-of-targetlists patch for comments (was Re:

Поиск
Список
Период
Сортировка
От Joe Conway
Тема Re: Values list-of-targetlists patch for comments (was Re:
Дата
Msg-id 44D0EA83.7050702@joeconway.com
обсуждение исходный текст
Ответ на Re: Values list-of-targetlists patch for comments (was Re:  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Values list-of-targetlists patch for comments (was Re:  (Alvaro Herrera <alvherre@commandprompt.com>)
Re: Values list-of-targetlists patch for comments (was Re:  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-patches
Tom Lane wrote:
> Yeah, I've just been doing that and some hand analysis too.  What I get
> (on a 64-bit machine) is that essentially all the space goes into
>
> lists of A_Const lists:        320000000
> lists of Const lists:        320000000
> transformInsertRow extra lists: 144000000
>
> I think we could safely list_free the input list in transformInsertRow
> as your patch suggests, which would buy back the 144M part.  But I don't
> believe it's safe at all to free the raw_parser output --- the grammar
> sometimes makes multiple links to the same subtree, eg in BETWEEN.
> In any case the patch as proposed wouldn't catch all the detritus for
> any case more complicated than a simple integer constant.

:-(

> The way that the list memory usage works (again, 64-bit machine) is
>
> sizeof(List) = 24
> sizeof(ListCell) = 16
> sizeof(A_Const) = 32
>
> Each of these nodes will have 16 bytes palloc overhead, and the List
> header will be rounded up to 32 bytes as well, so we have total space
> for a 3-element integer list of
>     32+16 + (16+16 + 32+16) * 3
> Add in 16+16 for the associated ListCell of the top list-of-lists,
> and you come to 320 bytes per sublist.  Const happens to also be
> 32 bytes so the transformed lists are the same size.

What if we built an array of A_Const nodes instead of a List? Maybe we
could use something akin to appendStringInfo()/enlargeStringInfo() to
build the array of nodes and enlarge it in chunks.

Joe

В списке pgsql-patches по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Values list-of-targetlists patch for comments (was Re:
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: Values list-of-targetlists patch for comments (was Re: