Re: Inlining comparators as a performance optimisation
От | Peter Geoghegan |
---|---|
Тема | Re: Inlining comparators as a performance optimisation |
Дата | |
Msg-id | CAEYLb_UJsMSy2FOTx6GFV3MOOPh6yXExqZoNu3oUscY51Cmngw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Inlining comparators as a performance optimisation (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: Inlining comparators as a performance optimisation
|
Список | pgsql-hackers |
On 1 December 2011 17:15, Robert Haas <robertmhaas@gmail.com> wrote: > One thing I'm starting to get a bit concerned about is the effect of > this patch on the size of the resulting binary. The performance > results you've posted are getting steadily more impressive as you get > into this, which is cool, but it seems like the number of copies of > the qsort logic that you're proposing to include in the resulting > binary is also steadily climbing. On my system, a stripped postgres > binary built with my usual compile options (except --enable-cassert, > which I took out) is 49336 bytes bigger with this patch applied, an > increase of close to 1%. Do your usual compile options include debug symbols? I've been using standard compile options for development of this patch, for obvious reasons. I get 36690 bytes (just under 36 KiB, or a 0.644% increase). Binary bloat is a legitimate concern. I thought that I was conservative in my choice of specialisations though. > We might need to be a little bit choosy > about this, because I don't think that we want to end up with a > situation where some noticeable percentage of the final binary > consists of differently-inlined versions of the quicksort algorithm - > especially because there may be other places where we want to do > similar kinds of inlining. > > Thoughts? A simple caveat in a comment along the lines of "this mechanism instantiates 2 copies of qsort_arg per type, please use judiciously" sounds like the right balance. It could also be possible to be penny wise and pound foolish here though. -- Peter Geoghegan http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training and Services
В списке pgsql-hackers по дате отправления: