nbtree performance improvements through specialization on key shape

Edit
ID 3672
Title nbtree performance improvements through specialization on key shape
Topic Performance
Created 2022-06-05 19:03:37
Last modified 2024-10-07 07:06:14 (1 month ago)
Latest email 2024-03-04 20:39:37 (8 months ago)
Status
2024-11: Needs review
2024-09: Moved to next CF
2024-07: Moved to next CF
2024-03: Moved to next CF
2024-01: Moved to next CF
2023-11: Moved to next CF
2023-09: Moved to next CF
2023-07: Moved to next CF
2023-03: Moved to next CF
2023-01: Moved to next CF
2022-11: Moved to next CF
2022-09: Moved to next CF
2022-07: Moved to next CF
Target version
Authors Matthias van de Meent (mmeent)
Reviewers Become reviewer
Committer
Links CFbot results (CirrusCI) CFbot GitHub
Checkout latest CFbot patchset Go to your local checkout of the PostgreSQL repository and run:
git remote add commitfest https://github.com/postgresql-cfbot/postgresql.git
git fetch commitfest cf/3672
git checkout commitfest/cf/3672
Emails
Improving btree performance through specializing by key shape, take 2
First at 2022-04-08 16:54:55 by Matthias van de Meent <boekewurm+postgres at gmail.com>
Latest at 2024-03-04 20:39:37 by Matthias van de Meent <boekewurm+postgres at gmail.com>
Latest attachment (v16-0005-btree-Optimize-nbts_attiter-for-indexes-with-a-s.patch) at 2024-03-04 20:39:37 from Matthias van de Meent <boekewurm+postgres at gmail.com>
    Attachment (v16-0005-btree-Optimize-nbts_attiter-for-indexes-with-a-s.patch) at 2024-03-04 20:39:37 from Matthias van de Meent <boekewurm+postgres at gmail.com> (Patch: Yes)
    Attachment (v15-0003-btree-Introduce-attribute-iterator-specializatio.patch) at 2024-02-01 14:49:13 from Matthias van de Meent <boekewurm+postgres at gmail.com> (Patch: Yes)
    Attachment (image.png) at 2023-10-30 16:19:53 from Matthias van de Meent <boekewurm+postgres at gmail.com> (Patch: No)
    Attachment (v13-0005-Add-an-attcacheoff-populating-function.patch) at 2023-09-18 15:57:28 from Matthias van de Meent <boekewurm+postgres at gmail.com> (Patch: Yes)
    Attachment (v12-0003-Use-specialized-attribute-iterators-in-the-speci.patch) at 2023-08-30 19:50:28 from Matthias van de Meent <boekewurm+postgres at gmail.com> (Patch: Yes)
    Attachment (v11-0003-Use-specialized-attribute-iterators-in-the-speci.patch) at 2023-06-22 20:50:35 from Matthias van de Meent <boekewurm+postgres at gmail.com> (Patch: Yes)
    Attachment (v10-0004-Optimize-nbts_attiter-for-nkeyatts-1-btrees.patch) at 2023-02-08 18:46:12 from Matthias van de Meent <boekewurm+postgres at gmail.com> (Patch: Yes)
    Attachment (v9-0005-Add-an-attcacheoff-populating-function.patch) at 2023-01-23 13:54:01 from Matthias van de Meent <boekewurm+postgres at gmail.com> (Patch: Yes)
    Attachment (Perf_results.xlsx) at 2023-01-20 19:37:58 from Matthias van de Meent <boekewurm+postgres at gmail.com> (Patch: No)
    Attachment (v7-0001-Implement-dynamic-prefix-compression-in-nbtree.patch) at 2022-10-31 18:14:08 from Matthias van de Meent <boekewurm+postgres at gmail.com> (Patch: Yes)
    Attachment (v6-0005-Add-a-function-whose-task-it-is-to-populate-all-a.patch) at 2022-07-27 11:34:52 from Matthias van de Meent <boekewurm+postgres at gmail.com> (Patch: Yes)
    Attachment (v5-0002-Use-specialized-attribute-iterators-in-backend-nb.patch) at 2022-07-27 07:35:24 from Matthias van de Meent <boekewurm+postgres at gmail.com> (Patch: Yes)
    Attachment (pgbench_log.patched_v4.txt) at 2022-07-04 14:18:35 from Matthias van de Meent <boekewurm+postgres at gmail.com> (Patch: No)
    Attachment (performance_comparison.txt) at 2022-06-05 19:12:36 from Matthias van de Meent <boekewurm+postgres at gmail.com> (Patch: No)
    Attachment (v2-0002-Use-specialized-attribute-iterators-in-backend-nb.patch) at 2022-04-15 23:05:27 from Matthias van de Meent <boekewurm+postgres at gmail.com> (Patch: Yes)
    Attachment (v1-0007-Add_missed_declarations_for__bt_keep_natts.patch) at 2022-04-10 23:07:46 from Matthias van de Meent <boekewurm+postgres at gmail.com> (Patch: Yes)
    Attachment (v1-0004-Implement-specialized-uncacheable-attribute-itera.patch) at 2022-04-08 16:54:55 from Matthias van de Meent <boekewurm+postgres at gmail.com> (Patch: Yes)

Annotations

When Who Mail Annotation
2024-05-20 13:54:29 Matthias van de Meent (mmeent) From Matthias van de Meent <boekewurm+postgres@gmail.com>
at 2023-10-30 16:19:53
Performance results of this patchset when combined with https://commitfest.postgresql.org/48/4635/ and https://commitfest.postgresql.org/48/4638/
2024-05-20 13:55:37 Matthias van de Meent (mmeent) From Matthias van de Meent <boekewurm+postgres@gmail.com>
at 2024-02-01 14:49:13
https://commitfest.postgresql.org/48/4635/ and https://commitfest.postgresql.org/48/4638/ were split off on request by Peter G., only specialization remains.
2024-05-20 13:57:21 Matthias van de Meent (mmeent) From Matthias van de Meent <boekewurm+postgres@gmail.com>
at 2024-03-04 20:39:37
Latest description of the tradeoffs, and description of the performance issue this patch fixes.
History
When Who What
2024-10-07 07:06:14 Michael Paquier (michael-kun) Closed in commitfest 2024-09 with status: Moved to next CF
2024-08-01 01:45:49 Corey Huinker (coreyh) Closed in commitfest 2024-07 with status: Moved to next CF
2024-05-20 13:57:21 Matthias van de Meent (mmeent) Added annotation "Latest description of the tradeoffs, and description of the performance issue this patch fixes." to CAEze2WiUmTAmzvsWz8WHN5BCgpJLwxpaNZtoQ2eXYOrQGBfwiA@mail.gmail.com
2024-05-20 13:55:37 Matthias van de Meent (mmeent) Added annotation "https://commitfest.postgresql.org/48/4635/ and https://commitfest.postgresql.org/48/4638/ were split off on request by Peter G., only specialization remains." to CAEze2WhZUmCu5FmM+849OZuHEYO6hUmfUsMQn0mc80yXZq=6Zw@mail.gmail.com
2024-05-20 13:54:29 Matthias van de Meent (mmeent) Added annotation "Performance results of this patchset when combined with https://commitfest.postgresql.org/48/4635/ and https://commitfest.postgresql.org/48/4638/" to CAEze2WiqOONRQTUT1p_ZV19nyMA69UU2s0e2dp+jSBM=j8snuw@mail.gmail.com
2024-04-08 14:59:57 Andrey Borodin (x4m) Closed in commitfest 2024-03 with status: Moved to next CF
2024-02-01 17:37:59 vigneshwaran C (vignesh.postgres) Closed in commitfest 2024-01 with status: Moved to next CF
2024-02-01 15:23:56 Peter Eisentraut (petere) Changed reviewers to
2024-02-01 14:49:41 Matthias van de Meent (mmeent) New status: Needs review
2024-01-30 10:48:53 vigneshwaran C (vignesh.postgres) New status: Waiting on Author
2023-12-04 09:16:57 John Naylor (john.naylor) Closed in commitfest 2023-11 with status: Moved to next CF
2023-10-02 11:05:20 Peter Eisentraut (petere) Closed in commitfest 2023-09 with status: Moved to next CF
2023-08-02 19:33:16 Daniel Gustafsson (d_gustafsson) Closed in commitfest 2023-07 with status: Moved to next CF
2023-06-22 21:52:58 Matthias van de Meent (mmeent) New status: Needs review
2023-04-09 03:21:29 Greg Stark (stark) Changed targetversion to None
2023-04-09 02:13:11 Greg Stark (stark) Closed in commitfest 2023-03 with status: Moved to next CF
2023-04-09 02:12:47 Greg Stark (stark) New status: Waiting on Author
2023-03-06 15:37:26 Stephen Frost (sfrost) Changed reviewers to David Christensen (davidchristensen)
2023-01-31 16:16:18 vigneshwaran C (vignesh.postgres) Closed in commitfest 2023-01 with status: Moved to next CF
2023-01-20 21:34:36 Matthias van de Meent (mmeent) New status: Needs review
2023-01-20 16:47:00 David Christensen (dwc-pgguru) New status: Waiting on Author
2023-01-12 15:10:42 David Christensen (dwc-pgguru) Posted comment with messageid <167353624210.1137.16548898709474282094.pgcf@coridan.postgresql.org>
2023-01-06 20:02:20 David Christensen (dwc-pgguru) Added dwc-pgguru as reviewer
2022-12-12 13:28:39 Ian Barwick (barwick) Closed in commitfest 2022-11 with status: Moved to next CF
2022-10-31 18:19:47 Matthias van de Meent (mmeent) New status: Needs review
2022-10-12 07:47:46 Michael Paquier (michael-kun) Closed in commitfest 2022-09 with status: Moved to next CF
2022-10-12 07:47:43 Michael Paquier (michael-kun) New status: Waiting on Author
2022-08-01 21:15:55 Jacob Champion (jchampion) Closed in commitfest 2022-07 with status: Moved to next CF
2022-07-04 14:19:28 Matthias van de Meent (mmeent) New status: Needs review
2022-06-20 19:18:19 Matthias van de Meent (mmeent) New status: Waiting on Author
2022-06-05 19:04:03 Matthias van de Meent (mmeent) Changed authors to Matthias van de Meent (mmeent)
2022-06-05 19:04:03 Matthias van de Meent (mmeent) Changed targetversion to 16
2022-06-05 19:03:37 Matthias van de Meent (mmeent) Attached mail thread CAEze2Wg52tsSWA9Fy7OCXx-K7pPLMNxA_fmQ6-+_pzR-AoODDA@mail.gmail.com
2022-06-05 19:03:37 Matthias van de Meent (mmeent) Created patch record
Edit