Batching page logging during B-tree build

From: "Andrey M(dot) Borodin" <x4mmm(at)yandex-team(dot)ru>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
Subject: Batching page logging during B-tree build
Date: 2020-09-18 15:39:29
Message-ID: 41822E78-48EE-41AE-A89B-3CB76FF53980@yandex-team.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi!

There's a thread about GiST build [0]. And we've found out there that logging newly created index with batches of 32 pages is slightly faster. Heikki implemented new logging routine log_newpages() for GiST build and it makes code for this batching nice and clean.
Here is PoC with porting that same routine to B-tree. It allows to build B-trees ~10% faster on my machine.

Thanks!

Best regards, Andrey Borodin.

[0] https://www.postgresql.org/message-id/flat/12CC4B83-9A5D-4A59-85A1-215CF9D1AB4B%40yandex-team.ru#6b93ee95fcc51ba710715d2ff6017b7f

Attachment Content-Type Size
v3-0001-Use-new-log_newpages-routine-in-B-tree-build.patch application/octet-stream 3.4 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Mark Dilger 2020-09-18 15:43:52 Re: factorial function/phase out postfix operators?
Previous Message Tom Lane 2020-09-18 15:29:39 Re: factorial function/phase out postfix operators?