From: | Amit Langote <amitlangote09(at)gmail(dot)com> |
---|---|
To: | Tomas Vondra <tomas(at)vondra(dot)me> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Batching in executor |
Date: | 2025-09-30 13:35:52 |
Message-ID: | CA+HiwqEBN2Gnkk7_AD=6Nbw0oZB_5DusSuVLzLO+kUVY2guWJw@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Sep 30, 2025 at 11:11 AM Amit Langote <amitlangote09(at)gmail(dot)com> wrote:
> Hi Tomas,
>
> Thanks a lot for your comments and benchmarking.
>
> I plan to reply to your detailed comments and benchmark results
For now, I reran a few benchmarks with the master branch as an
explicit baseline, since Tomas reported possible regressions with
executor_batching=off. I can reproduce that on my side:
5 aggregates, no where:
select avg(a), avg(b), avg(c), avg(d), avg(e) from bar;
parallel_workers=0, jit=off
Rows master batching off batching on master vs off master vs on
1M 47.118 48.545 39.531 +3.0% -16.1%
2M 95.098 97.241 80.189 +2.3% -15.7%
3M 141.821 148.540 122.005 +4.7% -14.0%
4M 188.969 197.056 163.779 +4.3% -13.3%
5M 240.113 245.902 213.645 +2.4% -11.0%
10M 556.738 564.120 486.359 +1.3% -12.6%
parallel_workers=2, jit=on
Rows master batching off batching on master vs off master vs on
1M 21.147 22.278 20.737 +5.3% -1.9%
2M 40.319 41.509 37.851 +3.0% -6.1%
3M 61.582 63.026 55.927 +2.3% -9.2%
4M 96.363 95.245 78.494 -1.2% -18.5%
5M 117.226 117.649 97.968 +0.4% -16.4%
10M 245.503 246.896 196.335 +0.6% -20.0%
1 aggregate, no where:
select count(*) from bar;
parallel_workers=0, jit=off
Rows master batching off batching on master vs off master vs on
1M 17.071 20.135 6.698 +17.9% -60.8%
2M 36.905 41.522 15.188 +12.5% -58.9%
3M 56.094 63.110 23.485 +12.5% -58.1%
4M 74.299 83.912 32.950 +12.9% -55.7%
5M 94.229 108.621 41.338 +15.2% -56.1%
10M 234.425 261.490 117.833 +11.6% -49.7%
parallel_workers=2, jit=on
Rows master batching off batching on master vs off master vs on
1M 8.820 9.832 5.324 +11.5% -39.6%
2M 16.368 18.001 9.526 +10.0% -41.8%
3M 24.810 28.193 14.482 +13.6% -41.6%
4M 34.369 35.741 23.212 +4.0% -32.5%
5M 41.595 45.103 27.918 +8.4% -32.9%
10M 99.494 112.226 94.081 +12.8% -5.4%
The regression is more noticeable in the single aggregate case, where
more time is spent in scanning.
Looking into it.
--
Thanks, Amit Langote
From | Date | Subject | |
---|---|---|---|
Next Message | Ashutosh Bapat | 2025-09-30 14:36:32 | Re: pg_restore documentation and --create/--single-transaction limitation |
Previous Message | Yugo Nagata | 2025-09-30 13:31:19 | Re: JIT works only partially with meson build? |