Hi! On Mon 27 Feb 2012 16:57, l...@gnu.org (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: wingo@badger:~/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. Regards, Andy -- http://wingolog.org/