Common Lisp has a way to influence the compilation strategies. It makes sense to define your preferred values.
Optimization values are between 0 (unimportant) and 3 (extremely important). 1 is the neutral value.
It's useful to always use safe code (safety = 3) with all runtime checks enabled.
Note that the interpretation of values is implementation specific. Most Common Lisp implementations make some use of these values.
|Setting||Explanation||useful default value||useful delivery value|
|speed of the compilation process||2||0|
|ease of debugging||2||1 or 0|
|run-time error checking||3||2|
|both code size and run-time space||2||2|
|speed of the object code||2||3|
optimize declaration for use with
(optimize (compilation-speed 2) (debug 2) (safety 3) (space 2) (speed 2))
Note that you can also apply special optimization settings to portions of the code in a function using the macro