Function Entry: CLAL-OPTIMIZATION

← Prev | ↑ Chapter | Next → | Index | Symbols

Function Entry: CLAL-OPTIMIZATION

Name

clal-optimization

Class

clautolisp Extension Function

Syntax

(clal-optimization)

Arguments and Values

No arguments.

Description

Return the current optimization qualities as an AutoLISP list ((DEBUG n) (SPACE n) (SPEED n)) (debugger public interface, Part A). These qualities gate how load, eval and clal-compile build a function's two forks. What decides is the levels, and for the instrumented fork their level relative to one another:

fork present when compiled when
non-instrumented always SPEED >= 1
instrumented DEBUG >= SPACE SPEED >= 2

SPACE is therefore not a switch of its own: it is what DEBUG is weighed against. Asking for (DEBUG 3) (SPACE 3) says the two matter equally and keeps the instrumented fork; (DEBUG 0) (SPACE 3) says size wins and drops it.

SPEED 3 further means eager compilation — at definition rather than once a function has proved hot — which is what allows a whole file to be compiled as one unit and optimized across function boundaries.

Return Values

A three-element list ((DEBUG n) (SPACE n) (SPEED n)), each n an integer 0..3. The default is ((DEBUG 3) (SPACE 0) (SPEED 2)).

Side Effects

None.

Affected By

  • The current setting made by clal-optimize.

Exceptional Situations

None.

Examples

(clal-optimization)
=> ((DEBUG 3) (SPACE 0) (SPEED 2))

Availability

  • clautolisp: documented (this entry); implemented since an earlier clautolisp release.
  • AutoCAD: NOT present.
  • BricsCAD: NOT present.

Source Notes

  • clautolisp-only extension; see the debugger-public-interface issue (Part A) and this chapter's Overview.