gcl-devel
[Top][All Lists]
Advanced

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

[Gcl-devel] Re: nth slowdown in 2.7.0?


From: Camm Maguire
Subject: [Gcl-devel] Re: nth slowdown in 2.7.0?
Date: 26 Feb 2006 12:43:05 -0500
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings, and thanks for the report!

Here are my results:

=============================================================================
2.7.0
=============================================================================
(defun foo (n x y) (loop for i fixnum below n do (nth x y)))
(compile 'foo)
(time (foo 100000000 0 nil))
real time       :      4.170 secs
run-gbc time    :      4.160 secs
child run time  :      0.000 secs
gbc time        :      0.000 secs
NIL

(defun foo1 (n x y) (loop for i fixnum below n do (nthcdr x y)))
(compile 'foo1)
(time (foo1 100000000 0 nil))
real time       :      3.640 secs
run-gbc time    :      3.640 secs
child run time  :      0.000 secs
gbc time        :      0.000 secs

(defun foo2 (n x y) (loop for i fixnum below n do (si::smallnthcdr x
y)))
(compile 'foo2)
(time (foo2 100000000 0 nil))
real time       :      0.620 secs
run-gbc time    :      0.620 secs
child run time  :      0.000 secs
gbc time        :      0.000 secs

(defun foo3 (n x y) (loop for i fixnum below n do (nth (the seqind x)
y)))
(time (foo3 100000000 0 nil))
real time       :      0.230 secs
run-gbc time    :      0.220 secs
child run time  :      0.000 secs
gbc time        :      0.000 secs

=============================================================================
2.6.7
=============================================================================
(time (foo 100000000 0 nil))
real time       :      0.830 secs
run-gbc time    :      0.830 secs
child run time  :      0.000 secs
gbc time        :      0.000 secs
=============================================================================

I've just added a cmp-nthcdr expande and now get:

=============================================================================
(defun foo (n x y) (loop for i fixnum below n do (nth x y)))
(compile 'foo)
(time (foo 100000000 0 nil))

real time       :      0.380 secs
run-gbc time    :      0.370 secs
child run time  :      0.000 secs
gbc time        :      0.000 secs
NIL

(defun foo1 (n x y) (declare (fixnum x)) (loop for i fixnum below n do
(nth x y)))
(compile 'foo1)
(time (foo1 100000000 0 nil))

real time       :      0.230 secs
run-gbc time    :      0.230 secs
child run time  :      0.000 secs
gbc time        :      0.000 secs
NIL

=============================================================================

Hoping this helps with your nqthm times.

Take care,

Robert Boyer <address@hidden> writes:

> Thanks for your recent work on NTH and NTHCDR.
> 
> The following two concatenated transcripts seem to show that NTH has slowed
> down by maybe a factor of 6 in some cases in the most recent 2.7.0 over
> 2.6.7.  My guess is that this has to do with in-lining, function calling, or
> something like that.
> 
> Bob
> 
> -------------------------------------------------------------------------------
> 
> % gcl
> GCL (GNU Common Lisp)  2.6.7 CLtL1    Sep  1 2005 16:07:23
> Source License: LGPL(gcl,gmp), GPL(unexec,bfd)
> Binary License:  GPL due to GPL'ed components: (BFD UNEXEC)
> Modifications of this banner must retain notice of a compatible license
> Dedicated to the memory of W. Schelter
> 
> Use (help) to get some basic information on how to use GCL.
> 
> >(defun foo (n x y) (loop for i fixnum below n do (nth x y)))
> (compile 'foo)
> (time (foo 100000000 0 nil))
> 
> 
> FOO
> 
> >
> Compiling gazonk0.lsp.
> End of Pass 1.  
> End of Pass 2.  
> OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
> Finished compiling gazonk0.lsp.
> Loading gazonk0.o
> start address -T 0x840bf10 Finished loading gazonk0.o
> #<compiled-function FOO>
> NIL
> NIL
> 
> >
> real time       :      0.790 secs
> run-gbc time    :      0.790 secs
> child run time  :      0.000 secs
> gbc time        :      0.000 secs
> NIL
> 
> -------------------------------------------------------------------------------
> 
> % xg
> GCL (GNU Common Lisp)  2.7.0 ANSI    Feb 25 2006 17:06:40
> Source License: LGPL(gcl,gmp,pargcl), GPL(unexec,bfd)
> Binary License:  GPL due to GPL'ed components: (BFD UNEXEC)
> Modifications of this banner must retain notice of a compatible license
> Dedicated to the memory of W. Schelter
> 
> Use (help) to get some basic information on how to use GCL.
> Temporary directory for compiler files set to /tmp/
> 
> >(defun foo (n x y) (loop for i fixnum below n do (nth x y)))
> (compile 'foo)
> (time (foo 100000000 0 nil))
> 
> 
> FOO
> 
> >
> ;; Compiling /tmp/gazonk_7557_0.lsp.
> ;; End of Pass 1.  
> ;; End of Pass 2.  
> ;; OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3, 
> (Debug quality ignored)
> ;; Finished compiling /tmp/gazonk_7557_0.o.
> Loading /tmp/gazonk_7557_0.o
> start address -T 0xa0ad690 Finished loading /tmp/gazonk_7557_0.o
> #<compiled-function FOO>
> NIL
> NIL
> 
> >
> real time       :      4.520 secs
> run-gbc time    :      4.520 secs
> child run time  :      0.000 secs
> gbc time        :      0.000 secs
> NIL
> 
> >
> 
> 
> 

-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

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