guile-devel
[Top][All Lists]
Advanced

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

Re: [Guile-commits] GNU Guile branch, master, updated. v2.1.0-68-g79eb47


From: Ludovic Courtès
Subject: Re: [Guile-commits] GNU Guile branch, master, updated. v2.1.0-68-g79eb47e
Date: Wed, 07 Mar 2012 22:01:12 +0100
User-agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.93 (gnu/linux)

Hi,

Andy Wingo <address@hidden> skribis:

> Hi!
>
> On Mon 27 Feb 2012 16:57, address@hidden (Ludovic Courtès) writes:
>
>>>> How does this change influence ‘benchmark-suite/benchmarks/ports.bm’?
>>>
>>> Dunno, that wasn't my benchmark.  It makes the web server go faster
>>> (e.g. guile examples/web/debug-sxml.scm).
>>
>> Can you check with that benchmark?  I think it’s important to have
>> concrete figures when doing such a change, to make sure the
>> performance/maintenance cost ratio is good.
>
> Before:
>
>     address@hidden:~/src/guile-master$ ./benchmark-guile ports.bm
>     Benchmarking /home/wingo/src/guile-master/meta/guile ... ports.bm
>     with GUILE_LOAD_PATH=/home/wingo/src/guile-master/benchmark-suite
>     ;; running guile version 2.1.0.43-4813a-dirty
>     ;; calibrating the benchmarking framework...
>     ;; framework time per iteration: 3.81469669342041e-8
>     ("ports.bm: peek-char: latin-1 port" 700000 user 0.08 benchmark 
> 0.0532971231460571 bench/interp 0.0532971231460571 gc 0.0)
>     ("ports.bm: peek-char: utf-8 port, ascii character" 700000 user 0.05 
> benchmark 0.0232971231460571 bench/interp 0.0232971231460571 gc 0.0)
>     ("ports.bm: peek-char: utf-8 port, Korean character" 700000 user 0.08 
> benchmark 0.0532971231460571 bench/interp 0.0532971231460571 gc 0.0)
>     ("ports.bm: read-char: latin-1 port" 10000000 user 0.7 benchmark 
> 0.318530330657959 bench/interp 0.318530330657959 gc 0.0)
>     ("ports.bm: read-char: utf-8 port, ascii character" 10000000 user 0.68 
> benchmark 0.298530330657959 bench/interp 0.298530330657959 gc 0.0)
>     ("ports.bm: read-char: utf-8 port, Korean character" 10000000 user 0.68 
> benchmark 0.298530330657959 bench/interp 0.298530330657959 gc 0.0)
>     ("ports.bm: char-ready?: latin-1 port" 10000000 user 0.57 benchmark 
> 0.188530330657959 bench/interp 0.188530330657959 gc 0.0)
>     ("ports.bm: char-ready?: utf-8 port, ascii character" 10000000 user 0.57 
> benchmark 0.188530330657959 bench/interp 0.188530330657959 gc 0.0)
>     ("ports.bm: char-ready?: utf-8 port, Korean character" 10000000 user 0.57 
> benchmark 0.188530330657959 bench/interp 0.188530330657959 gc 0.0)
>     ("ports.bm: rdelim: read-line" 1000 user 0.38 benchmark 0.379961853033066 
> bench/interp 0.297933677033066 gc 0.082028176)
>
> After:
>
>     ;; running guile version 2.1.0.43-4813a-dirty
>     ;; calibrating the benchmarking framework...
>     ;; framework time per iteration: 3.81469669342041e-8
>     ("ports.bm: peek-char: latin-1 port" 700000 user 0.05 benchmark 
> 0.0232971231460571 bench/interp 0.0232971231460571 gc 0.0)
>     ("ports.bm: peek-char: utf-8 port, ascii character" 700000 user 0.05 
> benchmark 0.0232971231460571 bench/interp 0.0232971231460571 gc 0.0)
>     ("ports.bm: peek-char: utf-8 port, Korean character" 700000 user 0.08 
> benchmark 0.0532971231460571 bench/interp 0.0532971231460571 gc 0.0)
>     ("ports.bm: read-char: latin-1 port" 10000000 user 0.74 benchmark 
> 0.358530330657959 bench/interp 0.358530330657959 gc 0.0)
>     ("ports.bm: read-char: utf-8 port, ascii character" 10000000 user 0.76 
> benchmark 0.378530330657959 bench/interp 0.378530330657959 gc 0.0)
>     ("ports.bm: read-char: utf-8 port, Korean character" 10000000 user 0.77 
> benchmark 0.388530330657959 bench/interp 0.388530330657959 gc 0.0)
>     ("ports.bm: char-ready?: latin-1 port" 10000000 user 0.68 benchmark 
> 0.298530330657959 bench/interp 0.298530330657959 gc 0.0)
>     ("ports.bm: char-ready?: utf-8 port, ascii character" 10000000 user 0.64 
> benchmark 0.258530330657959 bench/interp 0.258530330657959 gc 0.0)
>     ("ports.bm: char-ready?: utf-8 port, Korean character" 10000000 user 0.62 
> benchmark 0.238530330657959 bench/interp 0.238530330657959 gc 0.0)
>     ("ports.bm: rdelim: read-line" 1000 user 0.39 benchmark 0.389961853033066 
> bench/interp 0.306389294033066 gc 0.083572559)
>
> The times are quite variable, though.

Thanks for running the bench!  That’s not very conclusive, though.

I improved ports.bm in stable-2.0 (in particular, the ‘read-char’
benchmarks made little sense before as they quickly reached EOF).  It
would be ideal if you could try it, and use --iteration-factor to have
longer timings.

Thanks,
Ludo’.



reply via email to

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