Re: Performance Enhancement/Fix for Array Utility Functions

Поиск
Список
Период
Сортировка
От Robert Haas
Тема Re: Performance Enhancement/Fix for Array Utility Functions
Дата
Msg-id AANLkTimY87Z6n+SnBAiP+vDbM4v7=tKeqHLxxJd9qgqC@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Performance Enhancement/Fix for Array Utility Functions  (Mike Lewis <mikelikespie@gmail.com>)
Ответы Re: Performance Enhancement/Fix for Array Utility Functions  ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>)
Список pgsql-hackers
On Wed, Jul 28, 2010 at 1:20 AM, Mike Lewis <mikelikespie@gmail.com> wrote:
>>
>> > 1. As-is, it's a significant *pessimization* for small arrays, because
>> > the heap_tuple_untoast_attr_slice code does a palloc/copy even when one
>> > is not needed because the data is already not toasted.  I think there
>> > needs to be a code path that avoids that.
>>
>> This seems like it shouldn't be too hard to fix, and I think it should be
>> fixed.
>
> Do you have any suggestions where to start?  I do agree that this should be
> fixed as well.   I don't have too much time to dedicate to this project.  I
> can try to put in some time this weekend though if it isn't looking too bad.

Perhaps you could check VARATT_IS_EXTENDED.  If that's true, then
slice it, but if it's false, then just use the original datum.  You
might want to wrap that up in a function rather than cramming it all
in the macro definition, though.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise Postgres Company


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

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: reducing NUMERIC size for 9.1
Следующее
От: Josh Berkus
Дата:
Сообщение: Re: On Scalability