On Mon, Feb 03, 2020 at 06:24:14PM -0800, Jeff Davis wrote: > On Mon, 2020-02-03 at 10:29 -0800, Jeff Davis wrote: > > I ended up converting the freelist to a min heap. > > > > Attached is a patch which makes three changes to better support > > HashAgg: > > And now I'm attaching another version of the main Hash Aggregation > patch to be applied on top of the logtape.c patch. > > Not a lot of changes from the last version; mostly some cleanup and > rebasing. But it's faster now with the logtape.c changes.
Nice! Just back from the holiday. I had the perf test with Tomas's script, didn't notice the freelist sorting regression at that time. The minheap looks good, have you tested the performance and aggregate validation? About the "Cap the size of the LogicalTapeSet's freelist" and "Don't bother tracking free space for HashAgg at all" you mentioned in last mail, I suppose these two options will lost the disk space saving benefit since some blocks are not reusable then? -- Adam Lee