Re: Inlining comparators as a performance optimisation - Mailing list pgsql-hackers

From Greg Jaskiewicz
Subject Re: Inlining comparators as a performance optimisation
Date
Msg-id EF6F6E8D-144E-4B5B-9A05-33BF8EC04C65@pointblue.com.pl
Whole thread Raw
In response to Re: Inlining comparators as a performance optimisation  (Peter Geoghegan <peter@2ndquadrant.com>)
List pgsql-hackers
On 28 Nov 2011, at 02:15, Peter Geoghegan wrote:

> Attached are the results from performing a similar process to the
> prior benchmark, but on Greg Smith's high-end server, and with an
> orderlines table that has been "doubled-up" until it is 1538 MB,
> making the same old query perform a quicksort that's over 3GB. Short
> version:  HEAD is 20468.0ms, with my patch it's 13689.698ms, so these
> gains hold-up very well for very large in-memory sorts, possibly even
> perfectly.
>

This is some really good stuff.
Has to be said, that there must be quite few other places where inlining like that could have quite a positive benefit.

But - I also have to say that both template functions and template classes in C++ give you pretty much the same speed
improvement,with much better clarity and readability of the code. (I've tested it with the example Peter presented, if
someoneis interested in the code).  
One more reason why PostgreSQL project should look into the future and get some of the bits simplified and optimised by
switchingto C++.  





pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Inlining comparators as a performance optimisation
Next
From: Dan Ports
Date:
Subject: autovacuum and default_transaction_isolation