diff options
| author | aarne <unknown> | 2005-09-20 08:38:12 +0000 |
|---|---|---|
| committer | aarne <unknown> | 2005-09-20 08:38:12 +0000 |
| commit | eace8bcd68e12c71d8d9294ae935ad639d01d1fa (patch) | |
| tree | 5ec8199073754075ed8ee8c7d2698a1e1914773f | |
| parent | 6d179267de8f988ab2ee52a5fef99b3b05576222 (diff) | |
history
| -rw-r--r-- | doc/gf-history.html | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/doc/gf-history.html b/doc/gf-history.html index 2e7f390b5..d50f42075 100644 --- a/doc/gf-history.html +++ b/doc/gf-history.html @@ -12,21 +12,28 @@ Changes in functionality since May 17, 2005, release of GF Version 2.2 </center> +<p> + 20/9 (AR) Added optimization by <b>common subexpression elimination</b>. -It works on GFC modules and creates $oper$ definitions for -subterms that occur more than once in $lin$ definitions. These -$oper$ definitions are automatically reinlined in functionalities -that don't support $oper$s in GFC. This conversion is done by -module and the $oper$s are not inherited. Moreover, the subterms -can contain free variables which means that the $oper$s are not +It works on GFC modules and creates <tt>oper</tt> definitions for +subterms that occur more than once in <tt>lin</tt> definitions. These +<tt>oper</tt> definitions are automatically reinlined in functionalities +that don't support <tt>oper</tt>s in GFC. This conversion is done by +module and the <tt>oper</tt>s are not inherited. Moreover, the subterms +can contain free variables which means that the <tt>oper</tt>s are not always well typed. However, since all variables in GFC are type-specific -(and local variables are $lin$-specific), this does not destroy +(and local variables are <tt>lin</tt>-specific), this does not destroy subject reduction or cause illegal captures. <br> The optimization is triggered by the flag <tt>optimize=OPT_subs</tt>, where <tt>OPT</tt> is any of the other optimizations (see <tt>h -optimize</tt>). The most aggressive value of the flag is <tt>all_subs</tt>. In experiments, -the size of a GFC module can shrink by 80% compared to plain <tt>all</tt>. +the size of a GFC module can shrink by 85% compared to plain <tt>all</tt>. + +<p> + +18/9 (AR) Removed superfluous spaces from GFC printing. This shrinks +the GFC size by 5-10%. <p> |
