Re: Inlining comparators as a performance optimisation
От | Tom Lane |
---|---|
Тема | Re: Inlining comparators as a performance optimisation |
Дата | |
Msg-id | 27619.1316487092@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Inlining comparators as a performance optimisation (Peter Geoghegan <peter@2ndquadrant.com>) |
Ответы |
Re: Inlining comparators as a performance optimisation
Re: Inlining comparators as a performance optimisation |
Список | pgsql-hackers |
Peter Geoghegan <peter@2ndquadrant.com> writes: > Once the cache has been warmed, explain analyze very consistently > reports a runtime of 123ms for this query on master/HEAD, which varies > +/- 1 ms, with a few outliers of maybe +/- 2ms. However, when I apply > this patch, that goes down to 107ms +/- 1ms at -O0. I think that > that's a pretty good start. Funnily enough, the difference/advantage > vanishes at -O2 (I'm guessing that the higher optimisation level of > GCC 4.5 hyper-corrects away the inlining, but I don't have time to > check that right now). Considering that -O2 is our standard optimization level, that observation seems to translate to "this patch will be useless in practice". I think you had better investigate that aspect in some detail before spending more effort. > This performance patch differs from most in that it's difficult in > principle to imagine a performance regression occurring. Really? N copies of the same code could lead to performance loss just due to code bloat (ie, less of a query's inner loops fitting in CPU cache). Not to mention the clear regression in maintainability. So I'm disinclined to consider this sort of change without a significantly bigger win than you're suggesting above (no, I don't even consider the -O0 number attractive, let alone what you're finding at -O2). regards, tom lane
В списке pgsql-hackers по дате отправления: