From: Nikodemus S. <nik...@ra...> - 2006-08-22 14:13:54
|
Christophe Rhodes <cs...@ca...> writes: > The time seems to be spent in this function, which has an optimize > declaration of (debug 3) (speed 1); (debug 3) in SBCL means munging > the code substantially, making it very large -- and the function is > large to begin with -- and there are algorithms in the compiler which > are asymptotically slower than O(n). > > For what it's worth, the compiler seems to spend its time in > SB-C::PROPAGATE-LIVE-TNS called from SB-C::LIFETIME-FLOW-ANALYSIS. I > don't know if this has changed recently, but I don't think it has. In the sense that earlier (DEBUG 3) killed the ability of the compiler to reason about the code almost totally. Now it can make a better job of high-debug code, but it can obviously still take uncomfortably long. There are some things that we could still do: for example making (> debug speed) inhibit inline-expansion might help with this. Cheers, -- Nikodemus Schemer: "Buddha is small, clean, and serious." Lispnik: "Buddha is big, has hairy armpits, and laughs." |