(address . bug-guix@gnu.org)
Hi,
The attached patch adds a guile@3.0.9t package that enables CPU
architecture tuning for Guile and for a specialized libgc.
It creates new packages to avoid causing rebuilds.
From fbde1198a2386874e059faf8b3afdd09288bc7aa Mon Sep 17 00:00:00 2001
From: Arne Babenhauserheide <arne_bab@web.de>
Date: Wed, 22 Mar 2023 18:32:08 +0100
Subject: [PATCH] gnu: create tunable guile@3.0.9t that uses tunable bdw-gc
* gnu/packages/bdw-gc.scm (libgc/tunable): new derived package with
(tunable? . #t) property.
* gnu/packages/guile.scm (guile-3.0-latest/tunable): new derived package
with (tunable? . #t) property that uses libgc/tunable as propagated input.
---
gnu/packages/bdw-gc.scm | 8 ++++++++
gnu/packages/guile.scm | 22 ++++++++++++++++++++++
2 files changed, 30 insertions(+)
Toggle diff (54 lines)
diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm
index ae0d761ac3..a5a58da877 100644
--- a/gnu/packages/bdw-gc.scm
+++ b/gnu/packages/bdw-gc.scm
@@ -96,6 +96,14 @@ (define-public libgc
(license (x11-style (string-append home-page "license.txt")))))
+(define-public libgc/tunable
+ (package
+ (inherit libgc)
+ (properties
+ '((release-monitoring-url . "https://www.hboehm.info/gc/gc_source/")
+ (upstream-name . "gc")
+ (tunable? #t)))))
+
;; TODO: Add a static output in libgc in the next rebuild cycle.
(define-public libgc/static-libs
(package/inherit
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 2fd9b711ce..715f5c7a61 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -419,6 +419,28 @@ (define-public guile-3.0-latest
"GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps\n")))))
'())))))))
+(define-public guile-3.0-latest/tunable
+ (package
+ (inherit guile-3.0-latest)
+ (version "3.0.9t")
+ (source (origin
+ (inherit (package-source guile-3.0))
+ (uri (string-append "mirror://gnu/guile/guile-"
+ (string-delete #\t version)
+ ".tar.xz"))
+ (sha256
+ (base32
+ "03bm1mnfc9kkg2ls942a0js7bxrdzmcffgrgg6anwdmjfan2a9hs"))))
+ (propagated-inputs
+ (modify-inputs (package-propagated-inputs guile-3.0-latest)
+ (replace "bdw-gc" libgc/tunable)
+ ))
+
+ (properties '((tunable? . #t) ;this is the point of this package
+ (timeout . 72000) ;20 hours
+ (max-silent-time . 36000))))) ;10 hours (needed on ARM
+ ; when heavily loaded)
+
;;; The symbol guile-3.0/fixed should be used when guile-3.0 needs fixes
;;; (security or else) and this deprecation could be removed.
(define-deprecated/public-alias guile-3.0/fixed guile-3.0/pinned)
--
2.39.2
The results of a benchmark are still not fully conclusive: regular Guile
seems to be slightly slower in the Geometric mean of all tests, but
there are benchmarks where a tuned Guile is slower.
Note that this is tuning for znver3 while I actually have znver4, but
support for the correct compile-target will only arrive with GCC 13.
To replicate the benchmarks:
echo guix pull --disable-authentication --allow-downgrades -u … # get the new packages
guix shell mercurial -- hg clone https://hg.sr.ht/~arnebab/wisp
guix shell git -- git clone https://github.com/ecraven/r7rs-benchmarks
cd r7rs-benchmarks
for N in {1..3}; do
guix shell --tune guile@3.0.9t -- ./bench guile all && mv results.Guile{,-tuned${N}}
guix shell guile@3.0.9 -- ./bench guile all && mv results.Guile{,-regular${N}}
sed -i 's/\+guile/+guiletuned/' results.Guile-tuned${N}
sed -i 's/\+guile/+guileregular/' results.Guile-regular${N}
done
grep -a -h '+!CSVLINE' results.Guile-{regular,tuned}* | sed 's/+!CSVLINE!+//' > all.csv
guix shell guile-wisp guile -- ../wisp/examples/evaluate-r7rs-benchmark.w ~/eigenes/Programme/r7rs-benchmarks/all.csv guiletuned
guix shell guile-wisp guile -- ../wisp/examples/evaluate-r7rs-benchmark.w ~/eigenes/Programme/r7rs-benchmarks/all.csv guileregular
My results with N in {1..2}, the Geometric mean:
Guile tuned has a slowdown of 1.03512801239189
Guile regular has a slowdown of 1.0504373210343294
This suggests that the regular Guile is 1.48% slower than tuned Guile.
Since I have no errorbars, I cannot say whether this is significant.
=== Guiletuned slowdown ===
(("bv2string:1000:1000:100" . 1.0)
("equal" . #f)
("mperm:20:10:2:1" . 1.146669471586088)
("gcbench:20:1" . 1.0197445340007967)
("sboyer:5:1" . 1.0398502157522214)
("nboyer:5:1" . 1.050828554948064)
("chudnovsky:50:500:50:1000"
.
1.0236854348323314)
("slatex:500" . 1.0063944149759714)
("scheme:100000" . 1.0689169431069399)
("quicksort:10000:2500" . 1.003088477529797)
("primes:1000:10000" . 1.041839283639136)
("peval:2000" . 1.0560148767561295)
("parsing:2500" . 1.0003564615141731)
("paraffins:23:10" . 2.0039145601078086)
("nqueens:13:10" . 1.0)
("mazefun:11:11:10000" . 1.034627134692567)
("maze:20:7:10000" . 1.001234149986604)
("matrix:5:5:2500" . 1.047237971262676)
("lattice:44:10" . 1.003284878892407)
("graphs:7:3" . 1.101724767552233)
("earley:1" . 1.0507663201957202)
("dynamic:500" . 1.0806476338778386)
("conform:500" . 1.0)
("compiler:2000" . 1.0973709486022507)
("read1:2500" . 1.0)
("wc:inputs/bib:50" . 1.0252716381981584)
("tail:50" . 1.070013760352806)
("cat:50" . 1.1006490143447183)
("sum1:25" . 1.0)
("string:500000:100" . 1.005448377967908)
("array1:1000000:500" . 1.017108880809611)
("ack:3:12:2" . 1.0343152722188402)
("simplex:1000000" . 1.0213054034897673)
("ray:50" . 1.0090968950973398)
("pnpoly:1000000" . 1.0091804774033606)
("pi:50:500:50:100" . 1.0)
("nucleic:50" . 1.0173803271423734)
("mbrotZ:75:1000" . 1.022665128035874)
("mbrot:75:1000" . 1.0)
("fft:65536:100" . 1.0)
("sumfp:1000000.0:500" . 1.0)
("sum:10000:200000" . 1.0028978038917624)
("fibfp:35.0:10" . 1.029590065926432)
("fibc:30:10" . 1.0072040559671238)
("fib:40:5" . 1.0023503962392322)
("ctak:27:16:8:1" . 1.0)
("cpstak:40:20:11:1" . 1.0)
("ntakl:40:20:12:1" . 1.046107228813898)
("takl:40:20:12:1" . 1.0327425092626041)
("tak:40:20:11:1" . 1.0)
("triangl:22:1:50" . 1.0143942222863194)
("puzzle:1000" . 1.2229189054254013)
("divrec:1000:1000000" . 1.0074179348861916)
("diviter:1000:1000000" . 1.043931078583493)
("destruc:600:50:4000" . 1.0240507947888393)
("deriv:10000000" . 1.0319784815172544)
("browse:2000" . 1.1070660842252487)
("bv2string:1000:1000:100" . 1.0338536673222782)
("equal" . #f)
("mperm:20:10:2:1" . 1.1881732405136267)
("gcbench:20:1" . 1.0)
("sboyer:5:1" . 1.0631408998092902)
("nboyer:5:1" . 1.0217971951625024)
("chudnovsky:50:500:50:1000" . 1.0)
("slatex:500" . 1.0)
("scheme:100000" . 1.0)
("quicksort:10000:2500" . 1.0543263325575605)
("primes:1000:10000" . 1.0067412573033894)
("peval:2000" . 1.0)
("parsing:2500" . 1.0)
("paraffins:23:10" . 1.0)
("nqueens:13:10" . 1.0176605905015021)
("mazefun:11:11:10000" . 1.037746391910457)
("maze:20:7:10000" . 1.0)
("matrix:5:5:2500" . 1.0200605013910409)
("lattice:44:10" . 1.0102542438570286)
("graphs:7:3" . 1.0384572473968816)
("earley:1" . 1.0)
("dynamic:500" . 1.0)
("conform:500" . 1.0091118513899833)
("compiler:2000" . 1.0)
("read1:2500" . 1.0599058441532945)
("wc:inputs/bib:50" . 1.0746142263219225)
("tail:50" . 1.0632740266035832)
("cat:50" . 1.0929665813153533)
("sum1:25" . 1.036061672363642)
("string:500000:100" . 1.0162155078942512)
("array1:1000000:500" . 1.0515376902103308)
("ack:3:12:2" . 1.0118706763775067)
("simplex:1000000" . 1.0164588830600216)
("ray:50" . 1.0)
("pnpoly:1000000" . 1.0)
("pi:50:500:50:100" . 1.045459192674658)
("nucleic:50" . 1.0017484672084827)
("mbrotZ:75:1000" . 1.0)
("mbrot:75:1000" . 1.0311423294990856)
("fft:65536:100" . 1.0504466238403414)
("sumfp:1000000.0:500" . 1.0091469248322233)
("sum:10000:200000" . 1.0)
("fibfp:35.0:10" . 1.0)
("fibc:30:10" . 1.1257119803649067)
("fib:40:5" . 1.0)
("ctak:27:16:8:1" . 1.0148864364373957)
("cpstak:40:20:11:1" . 1.011283388260497)
("ntakl:40:20:12:1" . 1.0)
("takl:40:20:12:1" . 1.007232975497366)
("tak:40:20:11:1" . 1.0362220583744437)
("triangl:22:1:50" . 1.022212297184504)
("puzzle:1000" . 1.2350889918747268)
("divrec:1000:1000000" . 1.0064081034755894)
("diviter:1000:1000000" . 1.0)
("destruc:600:50:4000" . 1.0)
("deriv:10000000" . 1.0061506030191765)
("browse:2000" . 1.0065279614595284))
=== Guiletuned Geometric Mean slowdown (successful tests / total tests) ===
1.03512801239189 (112 / 114)
=== Guileregular slowdown ===
(("bv2string:1000:1000:100" . 1.0674803047626884)
("equal" . #f)
("mperm:20:10:2:1" . 1.094739035540671)
("gcbench:20:1" . 1.0172414374269374)
("sboyer:5:1" . 1.0)
("nboyer:5:1" . 1.0)
("chudnovsky:50:500:50:1000"
.
1.1734845659670659)
("slatex:500" . 1.0239374916619306)
("scheme:100000" . 1.122700507430036)
("quicksort:10000:2500" . 1.0)
("primes:1000:10000" . 1.0)
("peval:2000" . 1.0088858652748092)
("parsing:2500" . 1.0418903162390507)
("paraffins:23:10" . 2.042048452193248)
("nqueens:13:10" . 1.0100153261373226)
("mazefun:11:11:10000" . 1.0)
("maze:20:7:10000" . 1.048959091743095)
("matrix:5:5:2500" . 1.0)
("lattice:44:10" . 1.0079437861216478)
("graphs:7:3" . 1.198135373192713)
("earley:1" . 1.0959681146976517)
("dynamic:500" . 1.16155735839947)
("conform:500" . 1.0119217370442324)
("compiler:2000" . 1.0306165278415973)
("read1:2500" . 1.0460552396933456)
("wc:inputs/bib:50" . 1.0)
("tail:50" . 1.0319054479289398)
("cat:50" . 1.0)
("sum1:25" . 1.034137468078866)
("string:500000:100" . 1.0)
("array1:1000000:500" . 1.0)
("ack:3:12:2" . 1.0057561961050057)
("simplex:1000000" . 1.0)
("ray:50" . 1.0438647708135202)
("pnpoly:1000000" . 1.0874091135942872)
("pi:50:500:50:100" . 1.0215934390378087)
("nucleic:50" . 1.0)
("mbrotZ:75:1000" . 1.052938347579755)
("mbrot:75:1000" . 1.0329378591712912)
("fft:65536:100" . 1.0189087888402792)
("sumfp:1000000.0:500" . 1.0482534106366277)
("sum:10000:200000" . 1.0289912283371638)
("fibfp:35.0:10" . 1.033671691949834)
("fibc:30:10" . 1.178850020182939)
("fib:40:5" . 1.024466514102094)
("ctak:27:16:8:1" . 1.1039955311250749)
("cpstak:40:20:11:1" . 1.0371479505513828)
("ntakl:40:20:12:1" . 1.0213756257162367)
("takl:40:20:12:1" . 1.0)
("tak:40:20:11:1" . 1.0126417896363957)
("triangl:22:1:50" . 1.0)
("puzzle:1000" . 1.0)
("divrec:1000:1000000" . 1.0450154469330961)
("diviter:1000:1000000" . 1.0591207445325488)
("destruc:600:50:4000" . 1.0838399255052662)
("deriv:10000000" . 1.0)
("browse:2000" . 1.018717561314545)
("bv2string:1000:1000:100" . 1.036089236974368)
("equal" . #f)
("mperm:20:10:2:1" . 1.0)
("gcbench:20:1" . 1.0243606915521992)
("sboyer:5:1" . 1.00368112089037)
("nboyer:5:1" . 1.0500604616494615)
("chudnovsky:50:500:50:1000" . 1.115409983742645)
("slatex:500" . 1.0002570334324394)
("scheme:100000" . 1.0390531892971318)
("quicksort:10000:2500" . 1.0098428078516584)
("primes:1000:10000" . 1.06437827292514)
("peval:2000" . 1.024359358481343)
("parsing:2500" . 1.0004232513670308)
("paraffins:23:10" . 2.024687502614597)
("nqueens:13:10" . 1.0058665553469563)
("mazefun:11:11:10000" . 1.056194215282642)
("maze:20:7:10000" . 1.020543843425558)
("matrix:5:5:2500" . 1.0028500406404608)
("lattice:44:10" . 1.0)
("graphs:7:3" . 1.0)
("earley:1" . 1.0256148071738138)
("dynamic:500" . 1.008662479565268)
("conform:500" . 1.0332430727462598)
("compiler:2000" . 1.006956809282123)
("read1:2500" . 1.0564058966125223)
("wc:inputs/bib:50" . 1.0335552278476583)
("tail:50" . 1.0)
("cat:50" . 1.0263527061380673)
("sum1:25" . 1.0638438694063255)
("string:500000:100" . 1.1084001200578586)
("array1:1000000:500" . 1.0547700539059255)
("ack:3:12:2" . 1.0)
("simplex:1000000" . 1.021845418562125)
("ray:50" . 1.0558263145762616)
("pnpoly:1000000" . 1.0598933662254997)
("pi:50:500:50:100" . 1.0211985475879175)
("nucleic:50" . 1.0313190698159154)
("mbrotZ:75:1000" . 1.0191939711368345)
("mbrot:75:1000" . 1.0325883765897468)
("fft:65536:100" . 1.1023483002887104)
("sumfp:1000000.0:500" . 1.0794299746553448)
("sum:10000:200000" . 1.063704305941153)
("fibfp:35.0:10" . 1.1160079648284265)
("fibc:30:10" . 1.0)
("fib:40:5" . 1.0533185743228644)
("ctak:27:16:8:1" . 1.2839324786349615)
("cpstak:40:20:11:1" . 1.0290465857280968)
("ntakl:40:20:12:1" . 1.017152038958873)
("takl:40:20:12:1" . 1.0008854776027978)
("tak:40:20:11:1" . 1.0077102329273817)
("triangl:22:1:50" . 1.0435679627887324)
("puzzle:1000" . 1.0006869727744467)
("divrec:1000:1000000" . 1.0)
("diviter:1000:1000000" . 1.0496228639946887)
("destruc:600:50:4000" . 1.0446502508269544)
("deriv:10000000" . 1.0901526807172006)
("browse:2000" . 1.0))
=== Guileregular Geometric Mean slowdown (successful tests / total tests) ===
1.0504373210343294 (112 / 114)
Actual full results from two runs:
=== Guiletuned times ===
(("ack:3:12:2" "2.85671086")
("ack:3:12:2" "2.920076389")
("array1:1000000:500" "2.719338434")
("array1:1000000:500" "2.630303504")
("browse:2000" "4.653660319")
("browse:2000" "5.118496161")
("bv2string:1000:1000:100" "1.433438423")
("bv2string:1000:1000:100" "1.386500303")
("cat:50" "10.334967974")
("cat:50" "10.407612189")
("chudnovsky:50:500:50:1000" "0.362723212")
("chudnovsky:50:500:50:1000" "0.371314469")
("compiler:2000" "2.14676404")
("compiler:2000" "2.355796491")
("conform:500" "4.878185941")
("conform:500" "4.834137994")
("cpstak:40:20:11:1" "17.407945755")
("cpstak:40:20:11:1" "17.213716706")
("ctak:27:16:8:1" "13.296419091")
("ctak:27:16:8:1" "13.101386139")
("deriv:10000000" "6.006358226")
("deriv:10000000" "6.160541397")
("destruc:600:50:4000" "2.524561809")
("destruc:600:50:4000" "2.585279527")
("diviter:1000:1000000" "4.459944493")
("diviter:1000:1000000" "4.655874665")
("divrec:1000:1000000" "6.71596458")
("divrec:1000:1000000" "6.722703389")
("dynamic:500" "3.525123929")
("dynamic:500" "3.809416833")
("earley:1" "4.054948659")
("earley:1" "4.260803481")
("equal" "ULIMITKILLED")
("equal" "ULIMITKILLED")
("fft:65536:100" "2.635766227")
("fft:65536:100" "2.509186252")
("fib:40:5" "4.193038108")
("fib:40:5" "4.202893409")
("fibc:30:10" "40.788333173")
("fibc:30:10" "36.494392282")
("fibfp:35.0:10" "9.395625366")
("fibfp:35.0:10" "9.67364254")
("gcbench:20:1" "0.99502713")
("gcbench:20:1" "1.014673477")
("graphs:7:3" "12.370817417")
("graphs:7:3" "13.124503659")
("lattice:44:10" "6.197259938")
("lattice:44:10" "6.154507367")
("matrix:5:5:2500" "3.641334999")
("matrix:5:5:2500" "3.73835108")
("maze:20:7:10000" "1.613933494")
("maze:20:7:10000" "1.61592533")
("mazefun:11:11:10000" "3.749008984")
("mazefun:11:11:10000" "3.737740216")
("mbrot:75:1000" "19.750189296")
("mbrot:75:1000" "19.153698506")
("mbrotZ:75:1000" "20.612462381")
("mbrotZ:75:1000" "21.07964648")
("mperm:20:10:2:1" "9.617642771")
("mperm:20:10:2:1" "9.281691405")
("nboyer:5:1" "1.872344958")
("nboyer:5:1" "1.925542129")
("nqueens:13:10" "6.834513689")
("nqueens:13:10" "6.715906809")
("ntakl:40:20:12:1" "3.226853095")
("ntakl:40:20:12:1" "3.375634349")
("nucleic:50" "4.703444216")
("nucleic:50" "4.776839468")
("paraffins:23:10" "2.986478347")
("paraffins:23:10" "5.984647443")
("parsing:2500" "3.588179787")
("parsing:2500" "3.589458835")
("peval:2000" "4.217629667")
("peval:2000" "4.453879673")
("pi:50:500:50:100" "0.526672392")
("pi:50:500:50:100" "0.503771353")
("pnpoly:1000000" "12.105856386")
("pnpoly:1000000" "12.216993927")
("primes:1000:10000" "2.763279203")
("primes:1000:10000" "2.859615422")
("puzzle:1000" "7.432281644")
("puzzle:1000" "7.359046832")
("quicksort:10000:2500" "4.919145241")
("quicksort:10000:2500" "4.680086002")
("ray:50" "6.232801675")
("ray:50" "6.289500818")
("read1:2500" "3.322952744")
("read1:2500" "3.135139562")
("sboyer:5:1" "1.585267198")
("sboyer:5:1" "1.550538069")
("scheme:100000" "5.899088913")
("scheme:100000" "6.305636088")
("simplex:1000000" "4.74155611")
("simplex:1000000" "4.764164057")
("slatex:500" "5.5026227")
("slatex:500" "5.537808753")
("string:500000:100" "0.68799508")
("string:500000:100" "0.680705551")
("sum1:25" "3.378466719")
("sum1:25" "3.260874144")
("sum:10000:200000" "1.715693396")
("sum:10000:200000" "1.720665139")
("sumfp:1000000.0:500" "17.278236223")
("sumfp:1000000.0:500" "17.121625997")
("tail:50" "4.837888687")
("tail:50" "4.868554424")
("tak:40:20:11:1" "2.207812177")
("tak:40:20:11:1" "2.13063615")
("takl:40:20:12:1" "3.273725333")
("takl:40:20:12:1" "3.356636843")
("triangl:22:1:50" "3.13643409")
("triangl:22:1:50" "3.112446043")
("wc:inputs/bib:50" "6.354178924")
("wc:inputs/bib:50" "6.062416889"))
=== Guileregular times ===
(("ack:3:12:2" "2.823197595")
("ack:3:12:2" "2.839448474")
("array1:1000000:500" "2.727697517")
("array1:1000000:500" "2.58605893")
("browse:2000" "4.62347843")
("browse:2000" "4.710018671")
("bv2string:1000:1000:100" "1.436538041")
("bv2string:1000:1000:100" "1.480061766")
("cat:50" "9.705074729")
("cat:50" "9.45588653")
("chudnovsky:50:500:50:1000" "0.404585092")
("chudnovsky:50:500:50:1000" "0.425650091")
("compiler:2000" "2.161698668")
("compiler:2000" "2.212490501")
("conform:500" "4.994839595")
("conform:500" "4.891769316")
("cpstak:40:20:11:1" "17.713716404")
("cpstak:40:20:11:1" "17.853171003")
("ctak:27:16:8:1" "16.821295179")
("ctak:27:16:8:1" "14.463871749")
("deriv:10000000" "6.507820501")
("deriv:10000000" "5.969641332")
("destruc:600:50:4000" "2.637284127")
("destruc:600:50:4000" "2.736220883")
("diviter:1000:1000000" "4.681259712")
("diviter:1000:1000000" "4.723619732")
("divrec:1000:1000000" "6.673202011")
("divrec:1000:1000000" "6.973599182")
("dynamic:500" "3.555660243")
("dynamic:500" "4.094633639")
("earley:1" "4.158815387")
("earley:1" "4.444094437")
("equal" "ULIMITKILLED")
("equal" "ULIMITKILLED")
("fft:65536:100" "2.7659972")
("fft:65536:100" "2.556631925")
("fib:40:5" "4.416604922")
("fib:40:5" "4.295627134")
("fibc:30:10" "36.233365092")
("fibc:30:10" "42.71370317")
("fibfp:35.0:10" "10.485592743")
("fibfp:35.0:10" "9.711991969")
("gcbench:20:1" "1.019266679")
("gcbench:20:1" "1.012182828")
("graphs:7:3" "11.912688219")
("graphs:7:3" "14.273013145")
("lattice:44:10" "6.134356748")
("lattice:44:10" "6.183086766")
("matrix:5:5:2500" "3.579898395")
("matrix:5:5:2500" "3.569724535")
("maze:20:7:10000" "1.647089891")
("maze:20:7:10000" "1.692950212")
("mazefun:11:11:10000" "3.815654415")
("mazefun:11:11:10000" "3.612644682")
("mbrot:75:1000" "19.777886446")
("mbrot:75:1000" "19.78458033")
("mbrotZ:75:1000" "21.008097389")
("mbrotZ:75:1000" "21.703652079")
("mperm:20:10:2:1" "8.094478518")
("mperm:20:10:2:1" "8.861341606")
("nboyer:5:1" "1.924134672")
("nboyer:5:1" "1.832403697")
("nqueens:13:10" "6.755306048")
("nqueens:13:10" "6.783168806")
("ntakl:40:20:12:1" "3.282200205")
("ntakl:40:20:12:1" "3.295829099")
("nucleic:50" "4.842285137")
("nucleic:50" "4.695234752")
("paraffins:23:10" "6.046685386")
("paraffins:23:10" "6.098533486")
("parsing:2500" "3.589698489")
("parsing:2500" "3.738489773")
("peval:2000" "4.32036842")
("peval:2000" "4.255106956")
("pi:50:500:50:100" "0.514450574")
("pi:50:500:50:100" "0.514649509")
("pnpoly:1000000" "12.830916876")
("pnpoly:1000000" "13.164018562")
("primes:1000:10000" "2.921479898")
("primes:1000:10000" "2.744775962")
("puzzle:1000" "6.021742132")
("puzzle:1000" "6.017608199")
("quicksort:10000:2500" "4.71159952")
("quicksort:10000:2500" "4.665676166")
("ray:50" "6.580756022")
("ray:50" "6.506202092")
("read1:2500" "3.31197992")
("read1:2500" "3.279529166")
("sboyer:5:1" "1.496605726")
("sboyer:5:1" "1.491116745")
("scheme:100000" "6.129467149")
("scheme:100000" "6.622910116")
("simplex:1000000" "4.766683108")
("simplex:1000000" "4.664779057")
("slatex:500" "5.504037058")
("slatex:500" "5.634341685")
("string:500000:100" "0.750405621")
("string:500000:100" "0.677016907")
("sum1:25" "3.469060967")
("sum1:25" "3.372192131")
("sum:10000:200000" "1.824990453")
("sum:10000:200000" "1.765433455")
("sumfp:1000000.0:500" "18.481596316")
("sumfp:1000000.0:500" "17.947802847")
("tail:50" "4.54999235")
("tail:50" "4.695161894")
("tak:40:20:11:1" "2.147063851")
("tak:40:20:11:1" "2.157571204")
("takl:40:20:12:1" "3.25309459")
("takl:40:20:12:1" "3.250216596")
("triangl:22:1:50" "3.201959263")
("triangl:22:1:50" "3.068280531")
("wc:inputs/bib:50" "6.111397639")
("wc:inputs/bib:50" "5.912986045"))
Best wishes,
Arne
--
Unpolitisch sein
heißt politisch sein,
ohne es zu merken.
draketo.de
-----BEGIN PGP SIGNATURE-----
iQJEBAEBCAAuFiEE801qEjXQSQPNItXAE++NRSQDw+sFAmQbdH8QHGFybmVfYmFi
QHdlYi5kZQAKCRAT741FJAPD6/uLD/4wosd/sFjAZEx1CH1tT8FswdYQI6MpvQNt
57ayTAPG+yOA7kHCSIndhDXzmAmlpyoUYUotF7ebK4RvFTCzZYk417+SxFimFf/k
M+rmwxyeW9d5pC+FV45YNshNfwdaRm6XmWT+Wp3v78nfvAT6w5sxWoZiqOztHl9c
pCkPNSrhQ/XGIJwMwH/TslE9UOOlRvpzIKbN+5378stHK6cy+kptj8/GSVwUw6Nm
f3vgexeXzhmA1vO0bsuRLlbBL3Kzk/Ejp5zuxi2OeZc+C2LcB5p6+WO7BGHY288D
kyuBibPsVE7ls3rfq4iSK0Gu2a202b30OB466SHCVB/GcaHnJREbm7g449mbyhNr
wmjsA6Ifzd4TtRRTUmjyEVAjY5G5+CElafi5IhgLjtFgIt+IhhDjP+9g5olXrqjK
sZgGBZgO3VAb0gubKOLC6SjF3j6FFBknAjotiqDa76aH5ghSH7WhfVfUbbSHo4f/
rCPusrOoq+rrNPqRXSXPAlmemwcp3geGvsGzyclhxWjLBJB2kYZcbO1p6srhxmHj
6jn8hpA8FIosKLhmUL/5INv5NAKU95vcHm68hjIn13v6NE6lRxTKzmuX4oBBO9Kx
jB3MpF8FO2QMw5N2GghxJYsvwDLZjZe3xUMAETcMPveEwKnc6jlPxDbeNzdtEwtm
PH+OqjlE44jEBAEBCAAuFiEE3Si95tmHXKvOSosd3M8NswvBBUgFAmQbdH8QHGFy
bmVfYmFiQHdlYi5kZQAKCRDczw2zC8EFSOLhA/9pHPD9umgxfGjkAmhszdfDZY7e
OuNITY5YGqPkiRh4UQFQ89uhgED/pk+31KazhLaF9tjuQlKW4zK85JACUlwtbO2u
sqpJ0HI4FBLTrxxpsHVf+clUjyHNsxuN+XGs+wnq4+Ye0qDIdvnbKVGyiSCK5EpR
8HOIoFZuHFwOkQ1iIA==
=7apk
-----END PGP SIGNATURE-----