Re: JIT: The nullness of casetest.value can be determined at the JIT compile time.

From: Andreas Karlsson <andreas(at)proxel(dot)se>
To: Xing Guo <higuoxing(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: JIT: The nullness of casetest.value can be determined at the JIT compile time.
Date: 2024-09-03 12:09:04
Message-ID: abeaa792-1db5-4438-b72f-fdc7a1c444ab@proxel.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 8/31/24 10:04 AM, Xing Guo wrote:
> The nullness of casetest.value can be determined at the JIT compile
> time. We can emit fewer codes by utilizing this property. The attached
> patch is trying to fix it.

I have not reviewed the code yet but the idea seems good.

But I wonder if we shouldn't instead simplify the code a bit by
specializing these steps when generating them instead of doing the work
runtime/while generating machine code. Yes, I doubt the performance
benefits matter but I personally think the code is cleaner before my
patch than after it.

Long term it would be nice to get rid off
caseValue_datum/domainValue_datum as mentioned by Andres[1] but that is
a bigger job so think that either your patch or my patch would make
sense to apply before that.

1.
https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=a7f107df2b700c859e4d9ad2ca66b07a465d6223

Andreas

Attachment Content-Type Size
v1-0001-Specialize-EEOP_-_TESTVAL-steps.patch text/x-patch 9.0 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Daniel Gustafsson 2024-09-03 12:18:07 Re: [PATCH] Avoid mixing custom and OpenSSL BIO functions
Previous Message Pavel Stehule 2024-09-03 11:41:31 Re: proposal: schema variables