Re: Using quicksort for every external sort run

From: Greg Stark <stark(at)mit(dot)edu>
To: Peter Geoghegan <pg(at)heroku(dot)com>
Cc: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Robert Haas <robertmhaas(at)gmail(dot)com>, Simon Riggs <simon(at)2ndquadrant(dot)com>
Subject: Re: Using quicksort for every external sort run
Date: 2015-12-01 01:12:13
Message-ID: CAM-w4HMBpLLs1HiuiSz3MnGB9B9XVcJxpNGAeJeawOLpB-zEqw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hm. Here is a log-log chart of those results (sorry for html mail). I'm not
really sure if log-log is the right tool to use for a O(nlog(n)) curve
though.

I think the take-away is that this is outside the domain where any
interesting break points occur. Maybe run more tests on the low end to find
where the tapesort can generate a single tape and avoid the merge and see
where the discontinuity is with quicksort for the various work_mem sizes.

And can you calculate an estimate where the domain would be where multiple
passes would be needed for this table at these work_mem sizes? Is it
feasible to test around there?
[image: Inline image 1]

--
greg

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2015-12-01 01:17:51 Re: proposal: PL/Pythonu - function ereport
Previous Message Peter Geoghegan 2015-12-01 00:31:15 Re: Memory prefetching while sequentially fetching from SortTuple array, tuplestore