[Top][All Lists]
[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