gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] Re: (random tester) Another compiler side effects bug


From: Paul F. Dietz
Subject: Re: [Gcl-devel] Re: (random tester) Another compiler side effects bug
Date: Sat, 01 Nov 2003 19:59:36 -0600
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624

Camm Maguire wrote:

OK, an example showing a notable compile time performance degradation
before vs. after the latest commit would be most helpful.  (You can
still access the cvs as of a certain date with the -D flag).  My guess
is that a trace of compiler::add-info would be illustrative.  If you
can send me a test function, I'll take a look at it.

Here's an example showing exponential growth (as a function of size of the
function) in the compile time of certain functions in the current version.
I have not run this in earlier versions, but it's alarming regardless.

(defun make-body (n)
  (if (= n 0)
      '(f x)
    `(flet ((f (y) (f y))) ,(make-body (1- n)))))

(defun make-fn (n)
  `(lambda (x) (flet ((f (z) z))
                 ,(make-body n))))

>(time (compile nil (make-fn 4)))

Compiling gazonk1.lsp.
End of Pass 1.
End of Pass 2.
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling gazonk1.lsp.
Loading gazonk1.o
start address -T 0x89c62a0 Finished loading gazonk1.o
real time : 0.190 secs
run time  : 0.000 secs
#<compiled-function COMPILER::CMP-ANON>

>(time (compile nil (make-fn 5)))

Compiling gazonk1.lsp.
End of Pass 1.
End of Pass 2.
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling gazonk1.lsp.
Loading gazonk1.o
start address -T 0x89c6ab0 Finished loading gazonk1.o
real time : 0.250 secs
run time  : 0.090 secs
#<compiled-function COMPILER::CMP-ANON>

>(time (compile nil (make-fn 6)))

Compiling gazonk1.lsp.
End of Pass 1.
End of Pass 2.
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling gazonk1.lsp.
Loading gazonk1.o
start address -T 0x89c1730 Finished loading gazonk1.o
real time : 0.580 secs
run time  : 0.390 secs
#<compiled-function COMPILER::CMP-ANON>

>(time (compile nil (make-fn 7)))

Compiling gazonk1.lsp.
End of Pass 1.
End of Pass 2.
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling gazonk1.lsp.
Loading gazonk1.o
start address -T 0x89c1ca0 Finished loading gazonk1.o
real time : 3.270 secs
run time  : 3.030 secs
#<compiled-function COMPILER::CMP-ANON>

>(time (compile nil (make-fn 8)))

Compiling gazonk1.lsp.
End of Pass 1.
End of Pass 2.
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling gazonk1.lsp.
Loading gazonk1.o
start address -T 0x89c72c8 Finished loading gazonk1.o
real time : 26.040 secs
run time  : 25.720 secs
#<compiled-function COMPILER::CMP-ANON>

>

        Paul







reply via email to

[Prev in Thread] Current Thread [Next in Thread]