Skip to content

Commit

Permalink
Quelques corrections sur la traduction de jit
Browse files Browse the repository at this point in the history
  • Loading branch information
gleu committed Aug 22, 2018
1 parent 421543a commit 5103027
Showing 1 changed file with 13 additions and 14 deletions.
27 changes: 13 additions & 14 deletions postgresql/jit.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<!-- doc/src/sgml/jit.sgml -->

<chapter id="jit">
<title><acronym>JIT</acronym> (Compilation à la volée)</title>
<title><acronym>JIT</acronym> (compilation à la volée)</title>

<indexterm zone="jit">
<primary><acronym>JIT</acronym></primary>
Expand Down Expand Up @@ -39,7 +39,7 @@
<acronym>JIT</acronym> grâce à
<ulink url="https://llvm.org/"><productname>LLVM</productname></ulink>
s'il a été compilé avec
<literal>--with-llvm</literal> (voyez <xref linkend="configure-with-llvm"/>).
<literal>--with-llvm</literal> (voir <xref linkend="configure-with-llvm"/>).
</para>

<para>
Expand Down Expand Up @@ -78,7 +78,7 @@
<acronym>JIT</acronym>, alors que d'autres n'ont de bénéfice que pour les
requêtes durant plus longtemps.

Voyez <ulink url="https://llvm.org/docs/passes.html#transform-passes"> pour
Voir <ulink url="https://llvm.org/docs/passes.html#transform-passes"> pour
plus de détails sur les optimisations.
</ulink>
</para>
Expand All @@ -89,13 +89,13 @@
<para>
<productname>PostgreSQL</productname> est très extensible et permet de
définir de nouveaux types de données, fonctions, opérateurs et autres
objets de base de données&nbsp;;voir <xref linkend="extend"/>.
En fait ceux intégrés sont implémentés avec à peu près les mêmes
objets de base de données&nbsp;; voir <xref linkend="extend"/>.
En fait, ceux intégrés sont implémentés avec à peu près les mêmes
mécanismes. Cette extensibilité a un surcoût, par exemple à cause des appels
de fonction (voir <xref linkend="xfunc"/>).
Pour réduire ce surcoût, la compilation <acronym>JIT</acronym>
peut intégrer le corps des petites fonctions dans les expressions qui les
utilise. Cela permet d'optimiser un pourcentage significatif du surcoût.
utilisent. Cela permet d'optimiser un pourcentage significatif du surcoût.
</para>
</sect2>

Expand All @@ -108,8 +108,7 @@
La compilation <acronym>JIT</acronym> bénéficie surtout aux requêtes de longue
durée et limitées par le processeur. Ce seront souvent des requêtes
analytiques. Pour les requêtes courtes, le surcoût apporté par la compilation
<acronym>JIT</acronym> sera souvent supérieur au temps qu'elle peut gagner.

<acronym>JIT</acronym> sera souvent supérieur au temps qu'elle permet de gagner.
</para>

<para>
Expand All @@ -134,14 +133,14 @@
<xref linkend="guc-jit-optimize-above-cost"/>, les optimisations coûteuses
sont utilisées pour améliorer le code. Deuxièmement, si la requête est plus
coûteuse que le GUC <xref linkend="guc-jit-inline-above-cost"/>,
les fonctions courtes et les opérateurs utilisés dans la requêtes seront
les fonctions courtes et les opérateurs utilisés dans la requête seront
intégrés. Ces deux opérations augmentent le surcoût du <acronym>JIT</acronym>,
mais peuvent réduire considérablement le temps d'exécution.
</para>

<para>
Cette décision basée sur le coût sera faite lors de la planification,
pas lors de l'exécution. Cela veut dire que si l'on utilise les
et non pas lors de l'exécution. Cela veut dire que si l'on utilise les
instructions préparées, et que le plan générique est utilisé (voir
<xref linkend="sql-prepare-notes"/>), les valeurs des GUC prises en compte
sont celles au moment de la préparation, non de l'exécution.
Expand Down Expand Up @@ -228,7 +227,7 @@ SET
</para>

<para>
Pour le développement et le débogage quelques autres GUC existent.
Pour le développement et le débogage, quelques autres GUC existent.
<xref linkend="guc-jit-dump-bitcode"/> permet d'inspecter le bitcode généré.
<xref linkend="guc-jit-debugging-support"/> permet à GDB de voir les fonctions
générées. <xref linkend="guc-jit-profiling-support"/> émet des informations
Expand All @@ -239,7 +238,7 @@ SET
<para>
<xref linkend="guc-jit-provider"/> détermine quelle implémentation
<acronym>JIT</acronym> est utilisée. Il est rarement nécessaire de le changer.
Voyez <xref linkend="jit-pluggable"/>.
Voir <xref linkend="jit-pluggable"/>.
</para>
</sect1>

Expand All @@ -251,7 +250,7 @@ SET
<para>
L'implémentation <acronym>JIT</acronym> de <productname>PostgreSQL</productname>
peut intégrer l'implémentation des opérateurs et fonctions (de types
<literal>C</literal> et <literal>internal</literal>). Voyez
<literal>C</literal> et <literal>internal</literal>). Voir
<xref linkend="jit-inlining"/>. Pour le faire pour les fonctions au sein des
extensions, la définition de ces fonctions doit être disponible. En
utilisant <link linkend="extend-pgxs">PGXS</link> pour construire une extension
Expand Down Expand Up @@ -300,7 +299,7 @@ SET
<acronym>JIT</acronym>, cette dernière doit fournir une fonction nommée
<function>_PG_jit_provider_init</function>. À cette fonction est passée
une structure qui doit être remplie avec les pointeurs des fonctions
callback for différentes actions.
callback pour les différentes actions.
<programlisting>
struct JitProviderCallbacks
{
Expand Down

0 comments on commit 5103027

Please sign in to comment.