public inbox for [email protected]
help / color / mirror / Atom feedFrom: Amit Langote <[email protected]>
To: Tomas Vondra <[email protected]>
Cc: PostgreSQL-development <[email protected]>
Subject: Re: Batching in executor
Date: Tue, 30 Sep 2025 22:35:52 +0900
Message-ID: <CA+HiwqEBN2Gnkk7_AD=6Nbw0oZB_5DusSuVLzLO+kUVY2guWJw@mail.gmail.com> (raw)
In-Reply-To: <CA+HiwqF-31mmZ2hhnBLuWpu1UYTVPXoEzKBW6wrf96KpY=AU7A@mail.gmail.com>
References: <CA+HiwqFfAY_ZFqN8wcAEMw71T9hM_kA8UtyHaZZEZtuT3UyogA@mail.gmail.com>
<[email protected]>
<CA+HiwqF-31mmZ2hhnBLuWpu1UYTVPXoEzKBW6wrf96KpY=AU7A@mail.gmail.com>
On Tue, Sep 30, 2025 at 11:11 AM Amit Langote <[email protected]> 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
view thread (22+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected]
Subject: Re: Batching in executor
In-Reply-To: <CA+HiwqEBN2Gnkk7_AD=6Nbw0oZB_5DusSuVLzLO+kUVY2guWJw@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox