From: | Jeff Janes <jeff(dot)janes(at)gmail(dot)com> |
---|---|
To: | Peter Geoghegan <pg(at)heroku(dot)com> |
Cc: | Simon Riggs <simon(at)2ndquadrant(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, David Rowley <david(dot)rowley(at)2ndquadrant(dot)com>, Greg S <stark(at)mit(dot)edu> |
Subject: | Re: Using quicksort for every external sort run |
Date: | 2015-12-12 08:10:18 |
Message-ID: | CAMkU=1zp=vx1E0iawmFq1Fby6Gb+FDqsRMppa=fHVLYeUTdFWg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Sun, Dec 6, 2015 at 4:25 PM, Peter Geoghegan <pg(at)heroku(dot)com> wrote:
> Maybe we should consider trying to get patch 0002 (the memory
> pool/merge patch) committed first, something Greg Stark suggested
> privately. That might actually be an easier way of integrating this
> work, since it changes nothing about the algorithm we use for merging
> (it only improves memory locality), and so is really an independent
> piece of work (albeit one that makes a huge overall difference due to
> the other patches increasing the time spent merging in absolute terms,
> and especially as a proportion of the total).
I have a question about the terminology used in this patch. What is a
tuple proper? What is it in contradistinction to? I would think that
a tuple which is located in its own palloc'ed space is the "proper"
one, leaving a tuple allocated in the bulk memory pool to be
called...something else. I don't know what the
non-judgmental-sounding antonym of postpositive "proper" is.
Also, if I am reading this correctly, when we refill a pool from a
logical tape we still transform each tuple as it is read from the disk
format to the memory format. This inflates the size quite a bit, at
least for single-datum tuples. If we instead just read the disk
format directly into the pool, and converted them into the in-memory
format when each tuple came due for the merge heap, would that destroy
the locality of reference you are seeking to gain?
Cheers,
Jeff
From | Date | Subject | |
---|---|---|---|
Next Message | Albe Laurenz | 2015-12-12 10:42:20 | Re: Disabling an index temporarily |
Previous Message | Amit Kapila | 2015-12-12 04:49:22 | Re: [PoC] Asynchronous execution again (which is not parallel) |