Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
a0a08c1d
Commit
a0a08c1d
authored
Mar 28, 2018
by
Andres Freund
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix mistakes in the just added JIT docs.
Reported-By: Lukas Fittl Author: Andres Freund
parent
e6c039d1
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
13 additions
and
7 deletions
+13
-7
doc/src/sgml/config.sgml
doc/src/sgml/config.sgml
+1
-1
doc/src/sgml/jit.sgml
doc/src/sgml/jit.sgml
+2
-2
src/backend/jit/README
src/backend/jit/README
+10
-4
No files found.
doc/src/sgml/config.sgml
View file @
a0a08c1d
...
...
@@ -7498,7 +7498,7 @@ SET XML OPTION { DOCUMENT | CONTENT };
used. The built-in default is <literal>llvmjit</literal>.
</para>
<para>
If set to a non-existent library <acronym>JIT</acronym> will not
If set to a non-existent library <acronym>JIT</acronym> will not
be
available, but no error will be raised. This allows JIT support to be
installed separately from the main
<productname>PostgreSQL</productname> package.
...
...
doc/src/sgml/jit.sgml
View file @
a0a08c1d
...
...
@@ -32,9 +32,9 @@
</para>
<para>
<productname>PostgreSQL</productname> has builtin support perform
<productname>PostgreSQL</productname> has builtin support
to
perform
<acronym>JIT</acronym> using <ulink
url="https://llvm.org/"><productname>LLVM</productname></ulink> when
built
url="https://llvm.org/"><productname>LLVM</productname></ulink> when
<productname>PostgreSQL</productname> was built with
<literal>--with-llvm</literal> (see <xref linkend="configure-with-llvm"/>).
</para>
...
...
src/backend/jit/README
View file @
a0a08c1d
...
...
@@ -74,7 +74,7 @@ the shared library providing JIT support can be loaded (i.e. postgres
was compiled with LLVM support and the shared library is installed),
the task of JIT compiling an expression gets handed of to shared
library. This obviously requires that the function in jit.c is allowed
to fail in case no
t
JIT provider can be loaded.
to fail in case no JIT provider can be loaded.
Which shared library is loaded is determined by the jit_provider GUC,
defaulting to "llvmjit".
...
...
@@ -174,7 +174,7 @@ least a few postgres types. While it is possible to inform LLVM about
type definitions by recreating them manually in C code, that is failure
prone and labor intensive.
Instead the is one small file (llvmjit_types.c) which references each of
Instead the
re
is one small file (llvmjit_types.c) which references each of
the types required for JITing. That file is translated to bitcode at
compile time, and loaded when LLVM is initialized in a backend.
...
...
@@ -232,10 +232,16 @@ an ExprState, rather than absolute pointers into memory.
Once that is addressed, adding an LRU cache that's keyed by the
generated LLVM IR will allow to use optimized functions even for
shorter function
s.
faster querie
s.
A longer term project is to move expression compilation to the planner
stage, allowing to tie
stage, allowing e.g. to tie compiled expressions to prepared
statements.
An even more advanced approach would be to use JIT with few
optimizations initially, and build an optimized version in the
background. But that's even further off.
What to JIT
===========
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment