Re: Special-case executor expression steps for common combinations

David Rowley <dgrowleyml@gmail.com>

From: David Rowley <dgrowleyml@gmail.com>
To: Daniel Gustafsson <daniel@yesql.se>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Andres Freund <andres@anarazel.de>
Date: 2023-10-12T12:04:21Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Add special case fast-paths for strict functions

  2. Replace EEOP_DONE with special steps for return/no return

On Thu, 12 Oct 2023 at 22:54, Daniel Gustafsson <daniel@yesql.se> wrote:
> EEOP_FUNCEXPR_STRICT_* (10M iterations):
>     master  : (7503.317, 7553.691, 7634.524)
>     patched : (7422.756, 7455.120, 7492.393)
>
> pgbench:
>     master  : (3653.83, 3792.97, 3863.70)
>     patched : (3743.04, 3830.02, 3869.80)
>
> Thoughts?

Did any of these tests compile the expression with JIT?

If not, how does the performance compare for a query that JITs the expression?

David