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
|
Список | 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 по дате отправления: