X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=doc%2Fmanual%2Fefficiency.texinfo;h=16c3c65dafbe7ce9b4f601466b30677c94b4d6bc;hb=e0ba0f10da0a0f2722494bd2dd9646f0b5a44d75;hp=11138b5ab3f391b427772b6146df13613c0e93c7;hpb=0573ba54479d1d65e2c8a14daffd2976e249bf40;p=sbcl.git diff --git a/doc/manual/efficiency.texinfo b/doc/manual/efficiency.texinfo index 11138b5..16c3c65 100644 --- a/doc/manual/efficiency.texinfo +++ b/doc/manual/efficiency.texinfo @@ -1,4 +1,4 @@ -@node Efficiency, Beyond The ANSI Standard, The Debugger, Top +@node Efficiency @comment node-name, next, previous, up @chapter Efficiency @@ -63,7 +63,7 @@ important are @item There is only limited support for the ANSI @code{dynamic-extent} -declaration. @xref{Dynamic-extent allocation} +declaration. @xref{Dynamic-extent allocation}. @item The garbage collector is not particularly efficient, at least on @@ -122,7 +122,7 @@ examples (some straightforward, some less so). * Modular arithmetic:: @end menu -@node Dynamic-extent allocation, Modular arithmetic, Efficiency, Efficiency +@node Dynamic-extent allocation @comment node-name, next, previous, up @section Dynamic-extent allocation @cindex Dynamic-extent declaration @@ -158,8 +158,8 @@ it would not be in the following situation: (length rest)) @end lisp -because the @code{optimize} declaration affects the binding, not the -allocation. +because both the allocation of the @code{&rest} list and the variable +binding are outside the scope of the @code{optimize} declaration. There are many cases when dynamic-extent declarations could be useful. At present, SBCL implements @@ -197,7 +197,7 @@ closure, even when the closure is not declared @code{dynamic-extent}. @end itemize -@node Modular arithmetic, , Dynamic-extent allocation, Efficiency +@node Modular arithmetic @comment node-name, next, previous, up @section Modular arithmetic @cindex Modular arithmetic @@ -231,10 +231,9 @@ with versions cutting results to 32 bits, and because terminals (here---expressions @code{x} and @code{y}) are also of type @code{(unsigned-byte 32)}, 32-bit machine arithmetic can be used. - As of SBCL 0.8.5 ``good'' functions are @code{+}, @code{-}; @code{logand}, @code{logior}, @code{logxor}, @code{lognot} and their combinations; and @code{ash} with the positive second -argument. ``Good'' widths are 32 on HPPA, MIPS, PPC, Sparc and X86 and -64 on Alpha. While it is possible to support smaller widths as well, -currently it is not implemented. +argument. ``Good'' widths are 32 on HPPA, MIPS, PPC, Sparc and x86 and +64 on Alpha. While it is possible to support smaller widths as well, +currently this is not implemented.