On Wed, Mar 22, 2017 at 10:03 AM, Robert Haas <robertmhaas@gmail.com> wrote: > On Tue, Mar 21, 2017 at 3:50 PM, Peter Geoghegan <pg@bowt.ie> wrote: >> I disagree with that. It is a >> trade-off, I suppose. I have now run out of time to work through it >> with you or Thomas, though. > > Bummer.
I'm going to experiment with refactoring the v10 parallel CREATE INDEX patch to use the SharedBufFileSet interface from hj-shared-buf-file-v8.patch today and see what problems I run into.
As per the earlier discussion in the thread, I did experiment using BufFileSet interface from parallel-hash-v18.patchset. I took the reference of parallel-hash other patches to understand the BufFileSet APIs, and incorporate the changes to parallel create index.
In order to achieve the same:
- Applied 0007-Remove-BufFile-s-isTemp-flag.patch and 0008-Add-BufFileSet-for-sharing-temporary-files-between-b.patch from the parallel-hash-v18.patchset. - Removed the buffile.c/logtap.c/fd.c changes from the parallel CREATE INDEX v10 patch. - incorporate the BufFileSet API to the parallel tuple sort for CREATE INDEX. - Changes into few existing functions as well as added few to support the BufFileSet changes.
To check the performance, I used the similar test which Peter posted in his earlier thread. which is: