Re: pgsql: Add documentation for the JIT feature. - Mailing list pgsql-hackers

From Robert Haas
Subject Re: pgsql: Add documentation for the JIT feature.
Date
Msg-id CA+TgmoaV63C2ERByiVmQFL5nR0VZ+PwVk8qqjN67RvXCzXJd=g@mail.gmail.com
Whole thread Raw
In response to Re: pgsql: Add documentation for the JIT feature.  (Stephen Frost <sfrost@snowman.net>)
Responses Re: pgsql: Add documentation for the JIT feature.  (Peter Geoghegan <pg@bowt.ie>)
List pgsql-hackers
On Thu, Mar 29, 2018 at 3:00 PM, Stephen Frost <sfrost@snowman.net> wrote:
> What we've done elsewhere when there's been similar jargon is to say
> something along the lines of:
>
> "compiling of routines (also known as Just-In-Time or JIT compilation)"

That strike me as roughly analogous to saying:

"hiding rows users don't have permission to see (also known as
row-level security)"

IOW, it's just substituting a generic description for a term of art
that has a real meaning.  I can't see that as an improvement.  It
would be possible to compile routines without involving JIT; as I
mentioned earlier, you could compile them to bytecode. Or, you could
compile them to machine code at definition time as, I am told by
Thomas, some database products used to do, I think by generating C
code and then shelling out to "cc".  Just-in-time compilation clearly
conveys that we are generating machine code at runtime; "compiling of
routines" does not.

Besides, if we did that, what are we going to call the GUCs?
compiling_of_routines_above_cost?  compiling_of_routines_provider =
'llvmjit'?  Ugh.

This technique has bene called JIT since about 1983, and is well-known
under that name, mostly because of Java.  Calling it some made-up name
we create ourselves is not going to make this more comprehensible to
users.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


pgsql-hackers by date:

Previous
From: Alexander Kuzmenkov
Date:
Subject: Re: [HACKERS] [PATCH] Incremental sort
Next
From: Andres Freund
Date:
Subject: Re: pgsql: Add documentation for the JIT feature.