[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] could we get away with requiring perl during the bu
From: |
Markus Schiltknecht |
Subject: |
Re: [Monotone-devel] could we get away with requiring perl during the build, for botan's sake? |
Date: |
Tue, 16 Oct 2007 16:15:05 +0200 |
User-agent: |
Icedove 1.5.0.10 (X11/20070328) |
Markus Schiltknecht wrote:
I'm currently trying to measure potential gains on my Core2Duo CPU with
manually configured and added amd64 (ia64) optimizations.
Okay, the benchmark run through. I ran the commit example benchmark from
n.v.m.contrib.bench, as that supposedly runs enough SHA-1 calculations.
That's the exact script I've run:
#!/bin/sh
rm -rf myscratch
python2.4 benchmark.py \
-m ref=/home/markus/projects/monotone/nvm.botan/mtn \
-m perf=/home/markus/projects/monotone/nvm.botan/mtn.ref \
--cache mycache \
-b
commit-5MBtxt="InitialImportCommit(SimpleRandomTree(total_size=5000000))" \
-b commit-5MBrand="InitialImportCommit(SimpleRandomTree(total_size=5000000,
binary_file_fraction=1,binary_file_randompart_fraction=1))" \
-b
commit-50MBtxt="InitialImportCommit(SimpleRandomTree(total_size=50000000))" \
-b commit-50MBrand="InitialImportCommit(SimpleRandomTree(total_size=50000000,
binary_file_fraction=1,binary_file_randompart_fraction=1))" \
-b commit-500MBtxt="InitialImportCommit(SimpleRandomTree(total_size=500000000,
filesize_logmean=11, filesize_logsd=2.5))" \
-b commit-500MBrand="InitialImportCommit(SimpleRandomTree(total_size=500000000,
filesize_logmean=11, filesize_logsd=2.5,
binary_file_fraction=1,binary_file_randompart_fraction=1))" \
-i memtime="MemTimingInstrumenter(repeats=5)" \
myscratch myresults
The reference binary is from the current head of n.v.m.botan (i.e. with
botan 1.7.2, but no assembler or other botan modules activated). I've
compared that against a manually configured botan build for amd64
(compatible with ia64 and my Core2Duo), with the following botan modules
enabled:
alg_amd64, alloc_mmap, es_egd, es_ftw, es_unix, ml_unix,
mp_amd64, tm_hard, tm_posix, tm_unix
Both binaries were compiled with default CFLAGS (i.e. -O2) and got
stripped after the build. Only the botan parts of the optimized variant
were compiled with botan's proposed CFLAGS (i.e. -finline-functions
-march=nocona -momit-leaf-frame-pointer -fPIC).
Here are my results:
address@hidden:/home/markus/projects/monotone/nvm.cbench/myresults# ../compare.py commit-5MBtxt-{ref,perf}-memtime/stats.csv
commit-5MBtxt-ref-memtime/stats.csv commit-5MBtxt-perf-memtime/stats.csv p
commit-avg-resident-MiB 3.70
3.76 0.84
commit-avg-size-MiB 18.81
18.70 0.92
commit-max-resident-MiB 6.19
6.11 0.03
commit-max-size-MiB 22.22
22.08 0.02
commit-num-samples 66.38
73.25 0.36
commit-system-time 0.02
0.02 0.63
commit-user-time 0.23
0.35 0.00
commit-wall-time 0.88
0.97 0.31
address@hidden:/home/markus/projects/monotone/nvm.cbench/myresults#
../compare.py commit-5MBrand-{ref,perf}-memtime/stats.csv
commit-5MBrand-ref-memtime/stats.csv
commit-5MBrand-perf-memtime/stats.csv p
commit-avg-resident-MiB 3.81
3.19 0.04
commit-avg-size-MiB 19.86
17.41 0.03
commit-max-resident-MiB 6.18
6.18 0.97
commit-max-size-MiB 22.15
22.15 0.98
commit-num-samples 63.38
73.62 0.06
commit-system-time 0.02
0.02 0.88
commit-user-time 0.22
0.34 0.00
commit-wall-time 0.89
0.98 0.13
address@hidden:/home/markus/projects/monotone/nvm.cbench/myresults#
../compare.py commit-50MBtxt-{ref,perf}-memtime/stats.csv
commit-50MBtxt-ref-memtime/stats.csv
commit-50MBtxt-perf-memtime/stats.csv p
commit-avg-resident-MiB 3.84
3.85 0.99
commit-avg-size-MiB 19.75
20.38 0.45
commit-max-resident-MiB 5.58
5.51 0.00
commit-max-size-MiB 21.45
21.40 0.00
commit-num-samples 85.40
53.40 0.04
commit-system-time 0.01
0.01 0.74
commit-user-time 0.20
0.32 0.00
commit-wall-time 1.23
0.75 0.08
address@hidden:/home/markus/projects/monotone/nvm.cbench/myresults#
../compare.py commit-50MBrand-{ref,perf}-memtime/stats.csv
commit-50MBrand-ref-memtime/stats.csv
commit-50MBrand-perf-memtime/stats.csv p
commit-avg-resident-MiB 4.04
3.58 0.00
commit-avg-size-MiB 20.60
19.81 0.05
commit-max-resident-MiB 5.61
5.54 0.00
commit-max-size-MiB 21.47
21.43 0.19
commit-num-samples 67.00
53.20 0.06
commit-system-time 0.02
0.01 0.13
commit-user-time 0.19
0.31 0.00
commit-wall-time 0.92
0.74 0.03
address@hidden:/home/markus/projects/monotone/nvm.cbench/myresults#
../compare.py commit-500MBtxt-{ref,perf}-memtime/stats.csv
commit-500MBtxt-ref-memtime/stats.csv
commit-500MBtxt-perf-memtime/stats.csv p
commit-avg-resident-MiB 16.71
16.08 0.20
commit-avg-size-MiB 32.41
31.34 0.06
commit-max-resident-MiB 28.90
29.60 0.09
commit-max-size-MiB 45.18
45.63 0.29
commit-num-samples 210.80
162.60 0.01
commit-system-time 0.13
0.07 0.00
commit-user-time 1.16
1.29 0.00
commit-wall-time 2.62
2.07 0.01
address@hidden:/home/markus/projects/monotone/nvm.cbench/myresults#
../compare.py commit-500MBrand-{ref,perf}-memtime/stats.csv
commit-500MBrand-ref-memtime/stats.csv
commit-500MBrand-perf-memtime/stats.csv p
commit-avg-resident-MiB 17.58
16.93 0.17
commit-avg-size-MiB 33.44
33.03 0.47
commit-max-resident-MiB 30.70
31.41 0.17
commit-max-size-MiB 46.72
47.43 0.17
commit-num-samples 211.20
165.60 0.02
commit-system-time 0.16
0.08 0.00
commit-user-time 1.11
1.23 0.00
commit-wall-time 2.60
2.07 0.02
From here, the CPU specific botan code even hurts the 5MB test case
(?!?). Only the 50 and 500 MB tests show a significant improvement.
Regards
Markus
- Re: [Monotone-devel] could we get away with requiring perl during the build, for botan's sake?, (continued)
- Re: [Monotone-devel] could we get away with requiring perl during the build, for botan's sake?, jack-monotone, 2007/10/15
- Re: [Monotone-devel] could we get away with requiring perl during the build, for botan's sake?, Matthew Gregan, 2007/10/15
- [Monotone-devel] Re: could we get away with requiring perl during the build, for botan's sake?, Koen Kooi, 2007/10/16
- [Monotone-devel] Re: could we get away with requiring perl during the build, for botan's sake?, Lapo Luchini, 2007/10/16
- Re: [Monotone-devel] could we get away with requiring perl during the build, for botan's sake?, Markus Schiltknecht, 2007/10/16
- Re: [Monotone-devel] could we get away with requiring perl during the build, for botan's sake?, Zack Weinberg, 2007/10/16