From: | David Rowley <dgrowleyml(at)gmail(dot)com> |
---|---|
To: | Michael Paquier <michael(at)paquier(dot)xyz> |
Cc: | Bykov Ivan <i(dot)bykov(at)modernsys(dot)ru>, Sami Imseih <samimseih(at)gmail(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Query ID Calculation Fix for DISTINCT / ORDER BY and LIMIT / OFFSET |
Date: | 2025-03-13 21:52:08 |
Message-ID: | CAApHDvqaKySJdBf2v2_ybNuT=KObaUVBU4_5kgZfFTMSJr-Vmg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, 11 Mar 2025 at 20:48, David Rowley <dgrowleyml(at)gmail(dot)com> wrote:
> Since then, I see that Ivan
> has already submitted a patch that accounts for NULL nodes and adds a
> byte to the jumble buffer to account for NULLs. This seems quite clean
> and simple. However, Sami seems to have concerns about the overhead of
> doing this. Is that warranted at all? Potentially, there could be a
> decent number of NULL fields. It'll probably be much cheaper than the
> offsetof idea I came up with.
To try and get some timing information about the overhead added for
jumbling the NULLs, I compared master and the patch at [1] using the
attached jumbletime.patch.txt. The patch just adds an additional call
to JumbleQuery and times how long it takes and outputs the result in
nanoseconds. Running make check has the advantage of trying out many
different queries.
On an AMD 3990x machine, the results for jumbling all make check queries are:
master: 73.66 milliseconds
0001-Query-ID-Calculation-Fix-Variant-B.patch: 80.36 milliseconds
So that adds about 9.1% overhead to jumbling, on average.
See the attached jumble_results.txt for full results and the code to
extract the results.
David
Attachment | Content-Type | Size |
---|---|---|
jumbletime.patch.txt | text/plain | 1.4 KB |
jumble_results.txt | text/plain | 698 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Daniel Gustafsson | 2025-03-13 22:07:33 | Re: Adding support for SSLKEYLOGFILE in the frontend |
Previous Message | Sami Imseih | 2025-03-13 21:51:52 | Re: making EXPLAIN extensible |