> 3 сент. 2020 г., в 23:40, Heikki Linnakangas <hlinn...@iki.fi> написал(а):
> 
> On 30/08/2020 15:04, Andrey M. Borodin wrote:
>>> 23 авг. 2020 г., в 14:39, Andrey M. Borodin <x4...@yandex-team.ru> 
>>> написал(а):
>>> 
>>> Thanks for reviewing and benchmarking, Pavel!
>> Pavel sent me few typos offlist. PFA v12 fixing these typos.
> 
> In gist_indexsortbuild(), you first build all the leaf pages. Then, you read 
> through all the index pages you just built, to form the tuples for the next 
> level, and repeat for all the upper levels. That seems inefficient, it would 
> be more better to form the tuples for the downlinks as you go, when you build 
> the leaf pages in the first place. That's how nbtsort.c works. Also, you 
> could WAL-log the pages as you go.
> 
> In gist_indexsortbuild_flush(), can't you just memcpy() the page from
> memory to the buffer?
> 
> - Heikki
Thanks for ideas, Heikki. Please see v13 with proposed changes.
But I've found out that logging page-by-page slows down GiST build by 
approximately 15% (when CPU constrained).
Though In think that this is IO-wise.

Thanks!

Best regards, Andrey Borodin.

Attachment: v13-0001-Add-sort-support-for-point-gist_point_sortsuppor.patch
Description: Binary data

Attachment: v13-0002-Implement-GiST-build-using-sort-support.patch
Description: Binary data

Reply via email to