chicken-hackers
[Top][All Lists]
Advanced

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

Re: [Chicken-hackers] [PATCH] Change setjmp/longjmp to _setjmp/_longjmp


From: Mario Domenech Goulart
Subject: Re: [Chicken-hackers] [PATCH] Change setjmp/longjmp to _setjmp/_longjmp to avoid overhead and fix signal masking bug
Date: Wed, 13 Jun 2012 20:28:57 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.91 (gnu/linux)

Hi Peter,

On Wed, 13 Jun 2012 23:22:02 +0200 Peter Bex <address@hidden> wrote:

> I've also attached two outputs from the resurrected Chicken benchmarks
> by Mario: https://github.com/mario-goulart/chicken-benchmarks
> These clearly show about a 5% speed improvement across the board.
> (you can see a clear comparison by using the "compare.scm" program from
>  that repo).  I compiled Chicken with itself before running this
> benchmark.  This may have an effect because according to Mario the
> compilation time is included in the measurements.

Unfortunately I could not observe any improvement on Linux x86.  The
performance is actually slightly worse with your patch (using master,
c48a109d668f3186bb4a213940c0b0b81a1ad03d).  I run the benchmarks with no
csc options and with -O3.  Here are the results ([2] is the chicken with
the _setjmp/_longjmp patch):

+---[1]:
|-> installation-prefix: /home/mario/local/chicken-2012-06-13
|-> csc-options: 
|-> repetitions: 10

+---[2]:
|-> installation-prefix: /home/mario/local/chicken-2012-06-13-longjmp
|-> csc-options: 
|-> repetitions: 10

Displaying normalized results (larger numbers indicate better results)

Programs                   [1]       [2]
========================================
0_________________________1.00______1.00
binarytrees_______________1.03______1.00
boyer_____________________1.01______1.00
browse____________________1.00______1.00
conform___________________1.00______1.00
cpstak____________________1.01______1.00
ctak______________________1.00______1.00
dderiv____________________1.00______1.00
deriv_____________________1.00______1.00
destructive_______________1.02______1.00
div-iter__________________1.00______1.00
div-rec___________________1.00______1.00
dynamic___________________1.00______1.00
earley____________________1.06______1.00
fft_______________________1.03______1.00
fib_______________________1.03______1.00
fibc______________________1.00______1.00
fprint____________________1.01______1.00
fread_____________________1.01______1.00
graphs____________________1.00______1.00
hanoi_____________________1.00______1.00
kanren____________________1.00______1.00
lattice___________________1.04______1.00
maze______________________1.01______1.00
mazefun___________________1.00______1.00
nbody_____________________1.00______1.00
nboyer____________________1.01______1.00
nestedloop________________1.01______1.00
nfa_______________________1.03______1.00
nqueens___________________1.00______1.00
nucleic2__________________1.03______1.00
paraffins_________________1.00______1.00
peval_____________________1.00______1.00
psyntax___________________1.00______1.00
puzzle____________________1.00______1.00
sboyer____________________1.01______1.00
scheme____________________1.05______1.00
slatex____________________1.05______1.00
sort1_____________________1.00______1.00
tak_______________________1.03______1.00
takl______________________1.01______1.00
takr______________________1.03______1.00
traverse__________________1.00______1.00
travinit__________________1.03______1.00
triangl___________________1.03______1.00



+---[1]:
|-> installation-prefix: /home/mario/local/chicken-2012-06-13
|-> csc-options: -O3
|-> repetitions: 10

+---[2]:
|-> installation-prefix: /home/mario/local/chicken-2012-06-13-longjmp
|-> csc-options: -O3
|-> repetitions: 10

Displaying normalized results (larger numbers indicate better results)

Programs                   [1]       [2]
========================================
0_________________________1.00______1.00
binarytrees_______________1.00______1.00
boyer_____________________1.02______1.00
browse____________________1.00______1.00
conform___________________1.01______1.00
cpstak____________________1.00______1.01
ctak______________________1.00______1.00
dderiv____________________1.01______1.00
deriv_____________________1.00______1.00
destructive_______________1.04______1.00
div-iter__________________1.03______1.00
div-rec___________________1.00______1.01
dynamic___________________1.00______1.00
earley____________________1.03______1.00
fft_______________________1.04______1.00
fib_______________________1.00______1.00
fibc______________________1.00______1.00
fprint____________________1.00______1.01
fread_____________________1.01______1.00
graphs____________________1.00______1.00
hanoi_____________________1.00______1.00
kanren____________________1.00______1.00
lattice___________________1.00______1.00
maze______________________1.00______1.01
mazefun___________________1.00______1.00
nbody_____________________1.03______1.00
nboyer____________________1.02______1.00
nestedloop________________1.02______1.00
nfa_______________________1.01______1.00
nqueens___________________1.05______1.00
nucleic2__________________1.00______1.00
paraffins_________________1.00______1.00
peval_____________________1.00______1.00
psyntax___________________1.00______1.00
puzzle____________________1.02______1.00
sboyer____________________1.00______1.00
scheme____________________1.09______1.00
slatex____________________1.04______1.00
sort1_____________________1.00______1.00
tak_______________________1.00______1.00
takl______________________1.00______1.00
takr______________________1.00______1.00
traverse__________________1.00______1.00
travinit__________________1.00______1.00
triangl___________________1.01______1.00


Best wishes.
Mario
-- 
http://parenteses.org/mario



reply via email to

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