| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version |
As with all compiler switch variables, the value of this variable
can be t
, nil
, or a
function object that accepts five arguments and returns t
or nil
. The arguments
passed to the function will be the values of the safety, space, speed,
debug, and compilation-speed optimization qualities, in that order. nil
is equivalent to a function that always returns
nil
and t
to a
function that always returns t
. When the
value is a function and we say t
(or true) or
nil
(or false) in the text below, we mean
that the function returns, respectively, t
or
nil
.
Bound to a function which, given safety, space, speed, debug, and
compilation-speed returns t
if the compiler
should continue to provide high optimizations for functions which have
grown to become very large. (Doing so might reduce compilation speed
significantly.)
There is a definition of "very large", but we are not providing it here, as it may change and the measure requires a lot of explaining. If a function is not 'very large', its compilation is unaffected.
If compilation seems unexpectedly slow, try setting this switch to nil. If that significantly speeds things up, then some function or functions are "very large" when compiled and you can figure out which they are and how much you want to balance compilation speed and execution speed, using declarations which set the value of compilation-speed on a function by function basis to get the balance you want. (Functions which are not very large will compile the same regardless of the value of this switch.)
Initially true if compilation-speed is less than 2. It is important to
keep in mind what the switch means: if true, take as long as necessary
to compile. If nil
, quit optimizing if the
task takes too long (as indicated by the compiled function becoming
too large).
See also internal-optimize-switch
. See compiling.htm
for information on the compiler.
Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.2 page.
Created 2012.5.30.
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version |