mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Add documentation for the JIT feature.
As promised in earlier commits, this adds documentation about the new build options, the new GUCs, about the planner logic when JIT is used, and the benefits of JIT in general. Also adds a more implementation oriented README. I'm sure we're going to want to expand this further, but I think this is a reasonable start. Author: Andres Freund, with contributions by Thomas Munro Reviewed-By: Thomas Munro Discussion: https://postgr.es/m/20170901064131.tazjxwus3k2w3ybh@alap3.anarazel.de
This commit is contained in:
@ -758,6 +758,39 @@ su - postgres
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="configure-with-llvm">
|
||||
<term><option>--with-llvm</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Build with support for <productname>LLVM</productname> based
|
||||
<acronym>JIT</acronym> compilation (see <xref linkend="jit"/>). This
|
||||
requires the <productname>LLVM</productname> library to be installed.
|
||||
The minimum required version of <productname>LLVM</productname> is
|
||||
currently 3.9.
|
||||
</para>
|
||||
<para>
|
||||
<command>llvm-config</command><indexterm><primary>llvm-config</primary></indexterm>
|
||||
will be used to find the required compilation options.
|
||||
<command>llvm-config</command>, and then
|
||||
<command>llvm-config-$major-$minor</command> for all supported
|
||||
versions, will be searched on <envar>PATH</envar>. If that would not
|
||||
yield the correct binary, use <envar>LLVM_CONFIG</envar> to specify a
|
||||
path to the correct <command>llvm-config</command>. For example
|
||||
<programlisting>
|
||||
./configure ... --with-llvm LLVM_CONFIG='/path/to/llvm/bin/llvm-config'
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<productname>LLVM</productname> support requires a compatible
|
||||
<command>clang</command> compiler (specified, if necessary, using the
|
||||
<envar>CLANG</envar> environment variable), and a working C++
|
||||
compiler (specified, if necessary, using the <envar>CXX</envar>
|
||||
environment variable).
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--with-icu</option></term>
|
||||
<listitem>
|
||||
@ -1342,6 +1375,16 @@ su - postgres
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><envar>CLANG</envar></term>
|
||||
<listitem>
|
||||
<para>
|
||||
path to <command>clang</command> program used to process source code
|
||||
for inlining when compiling with <literal>--with-llvm</literal>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><envar>CPP</envar></term>
|
||||
<listitem>
|
||||
@ -1432,6 +1475,16 @@ su - postgres
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><envar>LLVM_CONFIG</envar></term>
|
||||
<listitem>
|
||||
<para>
|
||||
<command>llvm-config</command> program used to locate the
|
||||
<productname>LLVM</productname> installation.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><envar>MSGFMT</envar></term>
|
||||
<listitem>
|
||||
|
Reference in New Issue
Block a user