Subject: Re: format for list printing From: Erik Naggum <email@example.com> Date: 1997/09/06 Newsgroups: comp.lang.lisp Message-ID: <firstname.lastname@example.org> * Larry Hunter | A quick test in Franz Allegro CL 4.3.1 on a unix box shows that it | depends on the optimization settings. If you compile with (optimize | (speed 1) (debug 2)) -- the default -- then using a local variable to | hold the formatter closure is about 25% faster. However, if you compile | with (optimize (speed 3) (debug 0)), then they are effectively identical. optimization in Allegro CL 4.3.1 is controlled by compiler switches. these are variables that either hold a value or a function. if the value is non-nil or the value of the function is non-nil, the switch is true. e.g., compilation of format strings is controlled by compiler:compile-format-strings-switch which has a functional value by default. user(15): (describe compiler:compile-format-strings-switch) #<Function speed > space @ #x165bd2> is a compiled-function. The arguments are (safety space speed debug) we infer that these switch functions receives the values of the various `optimize' declarations when called by the compiler, so we can write our own, or we could use a constant value for the appropriate switch. incidentally, it is sufficient to (declaim (optimize (space 0))) to get Allegro CL to compile format strings if speed is at least 1. this is documented in the Allegro CL User Guide, and you should get some messages when you fire up Allegro CL that indicate how to learn more: ;; Optimization settings: safety 1, space 1, speed 1, debug 2. ;; For a complete description of all compiler switches given the current ;; optimization settings evaluate (explain-compiler-settings). #\Erik -- 404 You're better off without that file. Trust me.