Обсуждение: pgsql: Move EEOP_*_SYSVAR evaluation out of line.

Поиск
Список
Период
Сортировка

pgsql: Move EEOP_*_SYSVAR evaluation out of line.

От
Andres Freund
Дата:
Move EEOP_*_SYSVAR evaluation out of line.

This mainly de-duplicates code. As evaluating a system variable isn't
the hottest path and the current inline implementation ends up calling
out to an external function anyway, this is OK from a performance POV.

The main motivation for de-duplicating is the upcoming slot
abstraction work, after which there's not guaranteed to be a HeapTuple
backing the slot.

Author: Andres Freund, Amit Khandekar
Discussion: https://postgr.es/m/20181105210039.hh4vvi4vwoq5ba2q@alap3.anarazel.de

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/b84a6dafbf2bb921baee53c0c1aba7719ee38817

Modified Files
--------------
src/backend/executor/execExprInterp.c | 58 ++++++++++++-----------------------
src/backend/jit/llvm/llvmjit.c        |  4 +--
src/backend/jit/llvm/llvmjit_expr.c   | 38 +++++------------------
src/backend/jit/llvm/llvmjit_types.c  |  2 +-
src/include/executor/execExpr.h       |  2 ++
src/include/jit/llvmjit.h             |  2 +-
6 files changed, 33 insertions(+), 73 deletions(-)


Re: pgsql: Move EEOP_*_SYSVAR evaluation out of line.

От
Tom Lane
Дата:
Andres Freund <andres@anarazel.de> writes:
> Move EEOP_*_SYSVAR evaluation out of line.

Seems like many of your JIT-enabled animals don't like this.

            regards, tom lane


Re: pgsql: Move EEOP_*_SYSVAR evaluation out of line.

От
Andres Freund
Дата:
Hi,

On 2018-11-07 16:23:13 -0500, Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > Move EEOP_*_SYSVAR evaluation out of line.
> 
> Seems like many of your JIT-enabled animals don't like this.

Thanks. Yea, it's the animals that have the (pretty expensive) LLVM
assertions enabled. I've pushed the trivial oversight fix. Sorry for not
attributing this message/thread - I only saw it afterwards.

Greetings,

Andres Freund