Commit dd8c9753 authored by Kirill Smelkov's avatar Kirill Smelkov

X Benchmarks + plot for Fannkuch 11

See https://github.com/golang/go/issues/18977 for context.
parent ea6585a4
......@@ -442,6 +442,7 @@ func (c *common) Fail() {
defer c.mu.Unlock()
// c.done needs to be locked to synchronize checks to c.done in parent tests.
if c.done {
zzz()
panic("Fail in goroutine after " + c.name + " has completed")
}
c.failed = true
......
#!/bin/bash -e
# compile/run Fannkuch11 benchmark with fannkuch() entry point shifted by various N
# shiftby n shiftfile
# makes fannkuch entrypoint to be shifted by ~ n*16 bytes
shiftby() {
n=$1
out=$2
echo "package testing" >$out
echo >>$out
echo "// shifting by ~ $n·16" >>$out
echo "func zzz() {" >>$out
for i in `seq $n`; do
echo -e "\tprintln()" >>$out
done
echo "}" >>$out
}
# benchit go name shiftfile
benchit() {
go=$1
name=$2
shiftfile=$3
for i in `seq 0 32`; do
echo "@$i"
shiftby $i $shiftfile
out=$name/`printf %04d $i`
mkdir -p $out
$go test -c -o $out/go1.test
$go tool objdump -s fannkuch $out/go1.test 2>/dev/null |head -2 | tail -1 |tee $out/entry.txt
$out/go1.test -test.run=Bench -test.bench=Fannkuch11 -test.count=5 |tee $out/bench.txt
done
}
#benchit go18 go18 ../../../src/testing/zzz.go
benchit go go-4b0d74f8 ../../../../go/src/testing/zzz.go
#benchit go go-4b0d74f8+cl43491.3 ../../../../go/src/testing/zzz.go
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2918436214 ns/op
BenchmarkFannkuch11-4 1 2900622300 ns/op
BenchmarkFannkuch11-4 1 2901749082 ns/op
BenchmarkFannkuch11-4 1 2940830409 ns/op
BenchmarkFannkuch11-4 1 2912478121 ns/op
PASS
fannkuch_test.go:12 0x75f0a0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2910932249 ns/op
BenchmarkFannkuch11-4 1 2917028086 ns/op
BenchmarkFannkuch11-4 1 2911561535 ns/op
BenchmarkFannkuch11-4 1 2906550483 ns/op
BenchmarkFannkuch11-4 1 2914845415 ns/op
PASS
fannkuch_test.go:12 0x75f0c0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2969279548 ns/op
BenchmarkFannkuch11-4 1 2982046012 ns/op
BenchmarkFannkuch11-4 1 2968881122 ns/op
BenchmarkFannkuch11-4 1 2969440498 ns/op
BenchmarkFannkuch11-4 1 2972453916 ns/op
PASS
fannkuch_test.go:12 0x75f0d0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2899131835 ns/op
BenchmarkFannkuch11-4 1 2898111879 ns/op
BenchmarkFannkuch11-4 1 2898821692 ns/op
BenchmarkFannkuch11-4 1 2901318488 ns/op
BenchmarkFannkuch11-4 1 2902301351 ns/op
PASS
fannkuch_test.go:12 0x75f0e0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 3187864273 ns/op
BenchmarkFannkuch11-4 1 3157959997 ns/op
BenchmarkFannkuch11-4 1 3170501573 ns/op
BenchmarkFannkuch11-4 1 3181285380 ns/op
BenchmarkFannkuch11-4 1 3184053028 ns/op
PASS
fannkuch_test.go:12 0x75f0f0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 3160267313 ns/op
BenchmarkFannkuch11-4 1 3166786529 ns/op
BenchmarkFannkuch11-4 1 3159912207 ns/op
BenchmarkFannkuch11-4 1 3166717417 ns/op
BenchmarkFannkuch11-4 1 3173389835 ns/op
PASS
fannkuch_test.go:12 0x75f0f0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2917219766 ns/op
BenchmarkFannkuch11-4 1 2912608548 ns/op
BenchmarkFannkuch11-4 1 2926319633 ns/op
BenchmarkFannkuch11-4 1 2904263281 ns/op
BenchmarkFannkuch11-4 1 2903771227 ns/op
PASS
fannkuch_test.go:12 0x75f100 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2981027970 ns/op
BenchmarkFannkuch11-4 1 2980660016 ns/op
BenchmarkFannkuch11-4 1 2980530272 ns/op
BenchmarkFannkuch11-4 1 3007247593 ns/op
BenchmarkFannkuch11-4 1 2976470502 ns/op
PASS
fannkuch_test.go:12 0x75f110 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2895980630 ns/op
BenchmarkFannkuch11-4 1 2898159941 ns/op
BenchmarkFannkuch11-4 1 2892238889 ns/op
BenchmarkFannkuch11-4 1 2893411950 ns/op
BenchmarkFannkuch11-4 1 2893053332 ns/op
PASS
fannkuch_test.go:12 0x75f120 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 3199979861 ns/op
BenchmarkFannkuch11-4 1 3204897050 ns/op
BenchmarkFannkuch11-4 1 3197973361 ns/op
BenchmarkFannkuch11-4 1 3196750954 ns/op
BenchmarkFannkuch11-4 1 3196557217 ns/op
PASS
fannkuch_test.go:12 0x75f130 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2898708638 ns/op
BenchmarkFannkuch11-4 1 2926887169 ns/op
BenchmarkFannkuch11-4 1 2951930047 ns/op
BenchmarkFannkuch11-4 1 2951991342 ns/op
BenchmarkFannkuch11-4 1 2955148727 ns/op
PASS
fannkuch_test.go:12 0x75f140 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2978927780 ns/op
BenchmarkFannkuch11-4 1 2975175040 ns/op
BenchmarkFannkuch11-4 1 3005095704 ns/op
BenchmarkFannkuch11-4 1 2962754892 ns/op
BenchmarkFannkuch11-4 1 2965871016 ns/op
PASS
fannkuch_test.go:12 0x75f150 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2896687033 ns/op
BenchmarkFannkuch11-4 1 2895414812 ns/op
BenchmarkFannkuch11-4 1 2936742828 ns/op
BenchmarkFannkuch11-4 1 2894991702 ns/op
BenchmarkFannkuch11-4 1 2898672409 ns/op
PASS
fannkuch_test.go:12 0x75f160 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2969497580 ns/op
BenchmarkFannkuch11-4 1 2971730578 ns/op
BenchmarkFannkuch11-4 1 2957126679 ns/op
BenchmarkFannkuch11-4 1 2970083017 ns/op
BenchmarkFannkuch11-4 1 2969750664 ns/op
PASS
fannkuch_test.go:12 0x75f170 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2937377059 ns/op
BenchmarkFannkuch11-4 1 2932927018 ns/op
BenchmarkFannkuch11-4 1 2946572249 ns/op
BenchmarkFannkuch11-4 1 2976339923 ns/op
BenchmarkFannkuch11-4 1 2973225335 ns/op
PASS
fannkuch_test.go:12 0x75f180 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2984930442 ns/op
BenchmarkFannkuch11-4 1 2984748318 ns/op
BenchmarkFannkuch11-4 1 2981730583 ns/op
BenchmarkFannkuch11-4 1 2973675938 ns/op
BenchmarkFannkuch11-4 1 2994923868 ns/op
PASS
fannkuch_test.go:12 0x75f190 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2929176521 ns/op
BenchmarkFannkuch11-4 1 2913532526 ns/op
BenchmarkFannkuch11-4 1 2973457484 ns/op
BenchmarkFannkuch11-4 1 2902495334 ns/op
BenchmarkFannkuch11-4 1 2932511322 ns/op
PASS
fannkuch_test.go:12 0x75f1a0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2971671145 ns/op
BenchmarkFannkuch11-4 1 2966759185 ns/op
BenchmarkFannkuch11-4 1 2957540067 ns/op
BenchmarkFannkuch11-4 1 2966356886 ns/op
BenchmarkFannkuch11-4 1 2967177639 ns/op
PASS
fannkuch_test.go:12 0x75f1b0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2910062202 ns/op
BenchmarkFannkuch11-4 1 2914911477 ns/op
BenchmarkFannkuch11-4 1 2896082928 ns/op
BenchmarkFannkuch11-4 1 2910682055 ns/op
BenchmarkFannkuch11-4 1 2936942068 ns/op
PASS
fannkuch_test.go:12 0x75f1c0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2976725760 ns/op
BenchmarkFannkuch11-4 1 2975062828 ns/op
BenchmarkFannkuch11-4 1 3007592984 ns/op
BenchmarkFannkuch11-4 1 2982302518 ns/op
BenchmarkFannkuch11-4 1 2976944205 ns/op
PASS
fannkuch_test.go:12 0x75f1d0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2908567988 ns/op
BenchmarkFannkuch11-4 1 2889760201 ns/op
BenchmarkFannkuch11-4 1 2905272323 ns/op
BenchmarkFannkuch11-4 1 2905559271 ns/op
BenchmarkFannkuch11-4 1 2900593896 ns/op
PASS
fannkuch_test.go:12 0x75f1e0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2927760909 ns/op
BenchmarkFannkuch11-4 1 2909095244 ns/op
BenchmarkFannkuch11-4 1 2900876425 ns/op
BenchmarkFannkuch11-4 1 2894049671 ns/op
BenchmarkFannkuch11-4 1 2919675164 ns/op
PASS
fannkuch_test.go:12 0x75f1e0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 3196107859 ns/op
BenchmarkFannkuch11-4 1 3195859183 ns/op
BenchmarkFannkuch11-4 1 3188823584 ns/op
BenchmarkFannkuch11-4 1 3200426724 ns/op
BenchmarkFannkuch11-4 1 3185179596 ns/op
PASS
fannkuch_test.go:12 0x75f1f0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2897050417 ns/op
BenchmarkFannkuch11-4 1 2901809167 ns/op
BenchmarkFannkuch11-4 1 2889645754 ns/op
BenchmarkFannkuch11-4 1 2900429305 ns/op
BenchmarkFannkuch11-4 1 2932811046 ns/op
PASS
fannkuch_test.go:12 0x75f200 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2974710118 ns/op
BenchmarkFannkuch11-4 1 2979019304 ns/op
BenchmarkFannkuch11-4 1 2992623409 ns/op
BenchmarkFannkuch11-4 1 3004464307 ns/op
BenchmarkFannkuch11-4 1 2982677048 ns/op
PASS
fannkuch_test.go:12 0x75f210 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2903064033 ns/op
BenchmarkFannkuch11-4 1 2880045453 ns/op
BenchmarkFannkuch11-4 1 2886469797 ns/op
BenchmarkFannkuch11-4 1 2890022591 ns/op
BenchmarkFannkuch11-4 1 2884570198 ns/op
PASS
fannkuch_test.go:12 0x75f220 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 3218254762 ns/op
BenchmarkFannkuch11-4 1 3226318363 ns/op
BenchmarkFannkuch11-4 1 3222877165 ns/op
BenchmarkFannkuch11-4 1 3221487957 ns/op
BenchmarkFannkuch11-4 1 3229588709 ns/op
PASS
fannkuch_test.go:12 0x75f230 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2907254953 ns/op
BenchmarkFannkuch11-4 1 2905373511 ns/op
BenchmarkFannkuch11-4 1 2906329692 ns/op
BenchmarkFannkuch11-4 1 2913144944 ns/op
BenchmarkFannkuch11-4 1 2909097649 ns/op
PASS
fannkuch_test.go:12 0x75f240 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2973946051 ns/op
BenchmarkFannkuch11-4 1 2970301654 ns/op
BenchmarkFannkuch11-4 1 2961103720 ns/op
BenchmarkFannkuch11-4 1 2987705081 ns/op
BenchmarkFannkuch11-4 1 2992736424 ns/op
PASS
fannkuch_test.go:12 0x75f250 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2895340083 ns/op
BenchmarkFannkuch11-4 1 2894641118 ns/op
BenchmarkFannkuch11-4 1 2895871997 ns/op
BenchmarkFannkuch11-4 1 2899767962 ns/op
BenchmarkFannkuch11-4 1 2892486994 ns/op
PASS
fannkuch_test.go:12 0x75f260 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2972379488 ns/op
BenchmarkFannkuch11-4 1 2979657151 ns/op
BenchmarkFannkuch11-4 1 2990920763 ns/op
BenchmarkFannkuch11-4 1 2976374396 ns/op
BenchmarkFannkuch11-4 1 2983636143 ns/op
PASS
fannkuch_test.go:12 0x75f270 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2925643768 ns/op
BenchmarkFannkuch11-4 1 2937395024 ns/op
BenchmarkFannkuch11-4 1 2929494060 ns/op
BenchmarkFannkuch11-4 1 2924534360 ns/op
BenchmarkFannkuch11-4 1 2976600260 ns/op
PASS
fannkuch_test.go:12 0x75f280 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 3011316057 ns/op
BenchmarkFannkuch11-4 1 2985688209 ns/op
BenchmarkFannkuch11-4 1 2979548202 ns/op
BenchmarkFannkuch11-4 1 3023891223 ns/op
BenchmarkFannkuch11-4 1 2987030504 ns/op
PASS
fannkuch_test.go:12 0x75f290 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2786354969 ns/op
BenchmarkFannkuch11-4 1 2795275294 ns/op
BenchmarkFannkuch11-4 1 2794738310 ns/op
BenchmarkFannkuch11-4 1 2790130512 ns/op
BenchmarkFannkuch11-4 1 2793541039 ns/op
PASS
fannkuch_test.go:12 0x75fdd0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2780707681 ns/op
BenchmarkFannkuch11-4 1 2780152991 ns/op
BenchmarkFannkuch11-4 1 2785385985 ns/op
BenchmarkFannkuch11-4 1 2791216058 ns/op
BenchmarkFannkuch11-4 1 2783350347 ns/op
PASS
fannkuch_test.go:12 0x75fdf0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2833356065 ns/op
BenchmarkFannkuch11-4 1 2847146732 ns/op
BenchmarkFannkuch11-4 1 2834043475 ns/op
BenchmarkFannkuch11-4 1 2841449834 ns/op
BenchmarkFannkuch11-4 1 2841662567 ns/op
PASS
fannkuch_test.go:12 0x75fe00 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2788504361 ns/op
BenchmarkFannkuch11-4 1 2809629356 ns/op
BenchmarkFannkuch11-4 1 2787783506 ns/op
BenchmarkFannkuch11-4 1 2798952407 ns/op
BenchmarkFannkuch11-4 1 2793861985 ns/op
PASS
fannkuch_test.go:12 0x75fe10 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2888618798 ns/op
BenchmarkFannkuch11-4 1 2886051141 ns/op
BenchmarkFannkuch11-4 1 2877131596 ns/op
BenchmarkFannkuch11-4 1 2884219690 ns/op
BenchmarkFannkuch11-4 1 2886633384 ns/op
PASS
fannkuch_test.go:12 0x75fe20 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2885210377 ns/op
BenchmarkFannkuch11-4 1 2884819497 ns/op
BenchmarkFannkuch11-4 1 2885108372 ns/op
BenchmarkFannkuch11-4 1 2882805254 ns/op
BenchmarkFannkuch11-4 1 2886113494 ns/op
PASS
fannkuch_test.go:12 0x75fe20 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2791775737 ns/op
BenchmarkFannkuch11-4 1 2781333251 ns/op
BenchmarkFannkuch11-4 1 2812540270 ns/op
BenchmarkFannkuch11-4 1 2788504984 ns/op
BenchmarkFannkuch11-4 1 2782203630 ns/op
PASS
fannkuch_test.go:12 0x75fe30 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2831376384 ns/op
BenchmarkFannkuch11-4 1 2812827485 ns/op
BenchmarkFannkuch11-4 1 2814649422 ns/op
BenchmarkFannkuch11-4 1 2810927789 ns/op
BenchmarkFannkuch11-4 1 2837558438 ns/op
PASS
fannkuch_test.go:12 0x75fe40 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2795853760 ns/op
BenchmarkFannkuch11-4 1 2797204622 ns/op
BenchmarkFannkuch11-4 1 2828225217 ns/op
BenchmarkFannkuch11-4 1 2792904347 ns/op
BenchmarkFannkuch11-4 1 2793934777 ns/op
PASS
fannkuch_test.go:12 0x75fe50 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2888767327 ns/op
BenchmarkFannkuch11-4 1 2888508441 ns/op
BenchmarkFannkuch11-4 1 2886122707 ns/op
BenchmarkFannkuch11-4 1 2884470963 ns/op
BenchmarkFannkuch11-4 1 2889014444 ns/op
PASS
fannkuch_test.go:12 0x75fe60 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 3002530458 ns/op
BenchmarkFannkuch11-4 1 3005790466 ns/op
BenchmarkFannkuch11-4 1 3010252938 ns/op
BenchmarkFannkuch11-4 1 3006637038 ns/op
BenchmarkFannkuch11-4 1 3000309886 ns/op
PASS
fannkuch_test.go:12 0x75fe70 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2834043150 ns/op
BenchmarkFannkuch11-4 1 2837645567 ns/op
BenchmarkFannkuch11-4 1 2834813403 ns/op
BenchmarkFannkuch11-4 1 2840732873 ns/op
BenchmarkFannkuch11-4 1 2837065841 ns/op
PASS
fannkuch_test.go:12 0x75fe80 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2994328072 ns/op
BenchmarkFannkuch11-4 1 2982622704 ns/op
BenchmarkFannkuch11-4 1 2987348373 ns/op
BenchmarkFannkuch11-4 1 2993663893 ns/op
BenchmarkFannkuch11-4 1 3001205192 ns/op
PASS
fannkuch_test.go:12 0x75fe90 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2898949568 ns/op
BenchmarkFannkuch11-4 1 2892745759 ns/op
BenchmarkFannkuch11-4 1 2892382691 ns/op
BenchmarkFannkuch11-4 1 2914229556 ns/op
BenchmarkFannkuch11-4 1 2891773429 ns/op
PASS
fannkuch_test.go:12 0x75fea0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2807318915 ns/op
BenchmarkFannkuch11-4 1 2802974323 ns/op
BenchmarkFannkuch11-4 1 2793264194 ns/op
BenchmarkFannkuch11-4 1 2828864858 ns/op
BenchmarkFannkuch11-4 1 2806454663 ns/op
PASS
fannkuch_test.go:12 0x75feb0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2808554364 ns/op
BenchmarkFannkuch11-4 1 2824698386 ns/op
BenchmarkFannkuch11-4 1 2805398295 ns/op
BenchmarkFannkuch11-4 1 2812441292 ns/op
BenchmarkFannkuch11-4 1 2807817575 ns/op
PASS
fannkuch_test.go:12 0x75fec0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2773446695 ns/op
BenchmarkFannkuch11-4 1 2788598478 ns/op
BenchmarkFannkuch11-4 1 2780489493 ns/op
BenchmarkFannkuch11-4 1 2776002936 ns/op
BenchmarkFannkuch11-4 1 2778423052 ns/op
PASS
fannkuch_test.go:12 0x75fed0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2878128703 ns/op
BenchmarkFannkuch11-4 1 2878855807 ns/op
BenchmarkFannkuch11-4 1 2892681511 ns/op
BenchmarkFannkuch11-4 1 2868704963 ns/op
BenchmarkFannkuch11-4 1 2870318767 ns/op
PASS
fannkuch_test.go:12 0x75fee0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2973052290 ns/op
BenchmarkFannkuch11-4 1 2969733444 ns/op
BenchmarkFannkuch11-4 1 3003894593 ns/op
BenchmarkFannkuch11-4 1 2997363188 ns/op
BenchmarkFannkuch11-4 1 2964254641 ns/op
PASS
fannkuch_test.go:12 0x75fef0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2813210809 ns/op
BenchmarkFannkuch11-4 1 2830426276 ns/op
BenchmarkFannkuch11-4 1 2824984394 ns/op
BenchmarkFannkuch11-4 1 2810945167 ns/op
BenchmarkFannkuch11-4 1 2866198993 ns/op
PASS
fannkuch_test.go:12 0x75ff00 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2983263162 ns/op
BenchmarkFannkuch11-4 1 2987827745 ns/op
BenchmarkFannkuch11-4 1 2987236038 ns/op
BenchmarkFannkuch11-4 1 2989862494 ns/op
BenchmarkFannkuch11-4 1 2974309250 ns/op
PASS
fannkuch_test.go:12 0x75ff10 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2980225574 ns/op
BenchmarkFannkuch11-4 1 2976998127 ns/op
BenchmarkFannkuch11-4 1 3010044068 ns/op
BenchmarkFannkuch11-4 1 3005035629 ns/op
BenchmarkFannkuch11-4 1 3007159596 ns/op
PASS
fannkuch_test.go:12 0x75ff10 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2898068423 ns/op
BenchmarkFannkuch11-4 1 2884816980 ns/op
BenchmarkFannkuch11-4 1 2874595490 ns/op
BenchmarkFannkuch11-4 1 2876932903 ns/op
BenchmarkFannkuch11-4 1 2872122288 ns/op
PASS
fannkuch_test.go:12 0x75ff20 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2755858145 ns/op
BenchmarkFannkuch11-4 1 2790461378 ns/op
BenchmarkFannkuch11-4 1 2775122364 ns/op
BenchmarkFannkuch11-4 1 2753832177 ns/op
BenchmarkFannkuch11-4 1 2750269994 ns/op
PASS
fannkuch_test.go:12 0x75ff30 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2855927143 ns/op
BenchmarkFannkuch11-4 1 2875087805 ns/op
BenchmarkFannkuch11-4 1 2874328217 ns/op
BenchmarkFannkuch11-4 1 2849572647 ns/op
BenchmarkFannkuch11-4 1 2838823156 ns/op
PASS
fannkuch_test.go:12 0x75ff40 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2779991615 ns/op
BenchmarkFannkuch11-4 1 2801021742 ns/op
BenchmarkFannkuch11-4 1 2803833311 ns/op
BenchmarkFannkuch11-4 1 2774720627 ns/op
BenchmarkFannkuch11-4 1 2778273374 ns/op
PASS
fannkuch_test.go:12 0x75ff50 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2862304215 ns/op
BenchmarkFannkuch11-4 1 2875595000 ns/op
BenchmarkFannkuch11-4 1 2876063579 ns/op
BenchmarkFannkuch11-4 1 2868261991 ns/op
BenchmarkFannkuch11-4 1 2864887387 ns/op
PASS
fannkuch_test.go:12 0x75ff60 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2963942449 ns/op
BenchmarkFannkuch11-4 1 3001861223 ns/op
BenchmarkFannkuch11-4 1 2967626390 ns/op
BenchmarkFannkuch11-4 1 2997433667 ns/op
BenchmarkFannkuch11-4 1 2999545951 ns/op
PASS
fannkuch_test.go:12 0x75ff70 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2848441228 ns/op
BenchmarkFannkuch11-4 1 2845642412 ns/op
BenchmarkFannkuch11-4 1 2844337214 ns/op
BenchmarkFannkuch11-4 1 2843422260 ns/op
BenchmarkFannkuch11-4 1 2844777902 ns/op
PASS
fannkuch_test.go:12 0x75ff80 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2979347281 ns/op
BenchmarkFannkuch11-4 1 3006654620 ns/op
BenchmarkFannkuch11-4 1 2981931666 ns/op
BenchmarkFannkuch11-4 1 2981173153 ns/op
BenchmarkFannkuch11-4 1 2978787612 ns/op
PASS
fannkuch_test.go:12 0x75ff90 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2875173623 ns/op
BenchmarkFannkuch11-4 1 2870295516 ns/op
BenchmarkFannkuch11-4 1 2873426279 ns/op
BenchmarkFannkuch11-4 1 2875135792 ns/op
BenchmarkFannkuch11-4 1 2880939420 ns/op
PASS
fannkuch_test.go:12 0x75ffa0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2766109041 ns/op
BenchmarkFannkuch11-4 1 2795880887 ns/op
BenchmarkFannkuch11-4 1 2785200797 ns/op
BenchmarkFannkuch11-4 1 2797529499 ns/op
BenchmarkFannkuch11-4 1 2797933213 ns/op
PASS
fannkuch_test.go:12 0x75ffb0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
goos: linux
goarch: amd64
BenchmarkFannkuch11-4 1 2816019202 ns/op
BenchmarkFannkuch11-4 1 2823691299 ns/op
BenchmarkFannkuch11-4 1 2811029910 ns/op
BenchmarkFannkuch11-4 1 2841814699 ns/op
BenchmarkFannkuch11-4 1 2814199212 ns/op
PASS
fannkuch_test.go:12 0x75ffc0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2677347950 ns/op
BenchmarkFannkuch11-4 1 2677009094 ns/op
BenchmarkFannkuch11-4 1 2681190698 ns/op
BenchmarkFannkuch11-4 1 2677890484 ns/op
BenchmarkFannkuch11-4 1 2676524960 ns/op
PASS
fannkuch_test.go:12 0x75f860 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2829784284 ns/op
BenchmarkFannkuch11-4 1 2829017327 ns/op
BenchmarkFannkuch11-4 1 2827053361 ns/op
BenchmarkFannkuch11-4 1 2827030975 ns/op
BenchmarkFannkuch11-4 1 2828888922 ns/op
PASS
fannkuch_test.go:12 0x75f870 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2678614060 ns/op
BenchmarkFannkuch11-4 1 2676482299 ns/op
BenchmarkFannkuch11-4 1 2675611639 ns/op
BenchmarkFannkuch11-4 1 2680247355 ns/op
BenchmarkFannkuch11-4 1 2675814311 ns/op
PASS
fannkuch_test.go:12 0x75f880 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2706259014 ns/op
BenchmarkFannkuch11-4 1 2712325327 ns/op
BenchmarkFannkuch11-4 1 2709550770 ns/op
BenchmarkFannkuch11-4 1 2710985996 ns/op
BenchmarkFannkuch11-4 1 2734190436 ns/op
PASS
fannkuch_test.go:12 0x75f890 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2744992306 ns/op
BenchmarkFannkuch11-4 1 2753648134 ns/op
BenchmarkFannkuch11-4 1 2745242951 ns/op
BenchmarkFannkuch11-4 1 2744036918 ns/op
BenchmarkFannkuch11-4 1 2765028873 ns/op
PASS
fannkuch_test.go:12 0x75f8a0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2743914713 ns/op
BenchmarkFannkuch11-4 1 2748093757 ns/op
BenchmarkFannkuch11-4 1 2743394894 ns/op
BenchmarkFannkuch11-4 1 2747232238 ns/op
BenchmarkFannkuch11-4 1 2740626026 ns/op
PASS
fannkuch_test.go:12 0x75f8b0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2682383829 ns/op
BenchmarkFannkuch11-4 1 2690935715 ns/op
BenchmarkFannkuch11-4 1 2680613475 ns/op
BenchmarkFannkuch11-4 1 2681347914 ns/op
BenchmarkFannkuch11-4 1 2679227549 ns/op
PASS
fannkuch_test.go:12 0x75f8c0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2836753988 ns/op
BenchmarkFannkuch11-4 1 2836215300 ns/op
BenchmarkFannkuch11-4 1 2843581895 ns/op
BenchmarkFannkuch11-4 1 2848538903 ns/op
BenchmarkFannkuch11-4 1 2849106367 ns/op
PASS
fannkuch_test.go:12 0x75f8d0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2699820899 ns/op
BenchmarkFannkuch11-4 1 2701618354 ns/op
BenchmarkFannkuch11-4 1 2701699467 ns/op
BenchmarkFannkuch11-4 1 2697150367 ns/op
BenchmarkFannkuch11-4 1 2698327337 ns/op
PASS
fannkuch_test.go:12 0x75f8e0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2830791494 ns/op
BenchmarkFannkuch11-4 1 2833784330 ns/op
BenchmarkFannkuch11-4 1 2838477037 ns/op
BenchmarkFannkuch11-4 1 2833745241 ns/op
BenchmarkFannkuch11-4 1 2831950043 ns/op
PASS
fannkuch_test.go:12 0x75f8f0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2836152725 ns/op
BenchmarkFannkuch11-4 1 2833605290 ns/op
BenchmarkFannkuch11-4 1 2831541429 ns/op
BenchmarkFannkuch11-4 1 2833052016 ns/op
BenchmarkFannkuch11-4 1 2832597299 ns/op
PASS
fannkuch_test.go:12 0x75f8f0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2685197401 ns/op
BenchmarkFannkuch11-4 1 2687087547 ns/op
BenchmarkFannkuch11-4 1 2696768683 ns/op
BenchmarkFannkuch11-4 1 2691181624 ns/op
BenchmarkFannkuch11-4 1 2750406665 ns/op
PASS
fannkuch_test.go:12 0x75f900 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2702388457 ns/op
BenchmarkFannkuch11-4 1 2696726927 ns/op
BenchmarkFannkuch11-4 1 2698254563 ns/op
BenchmarkFannkuch11-4 1 2697003723 ns/op
BenchmarkFannkuch11-4 1 2695037233 ns/op
PASS
fannkuch_test.go:12 0x75f910 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2709914936 ns/op
BenchmarkFannkuch11-4 1 2710902750 ns/op
BenchmarkFannkuch11-4 1 2725414068 ns/op
BenchmarkFannkuch11-4 1 2710702401 ns/op
BenchmarkFannkuch11-4 1 2709285133 ns/op
PASS
fannkuch_test.go:12 0x75f920 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2731739857 ns/op
BenchmarkFannkuch11-4 1 2734760133 ns/op
BenchmarkFannkuch11-4 1 2731561663 ns/op
BenchmarkFannkuch11-4 1 2754741973 ns/op
BenchmarkFannkuch11-4 1 2771378213 ns/op
PASS
fannkuch_test.go:12 0x75f930 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2696525317 ns/op
BenchmarkFannkuch11-4 1 2709770503 ns/op
BenchmarkFannkuch11-4 1 2707177274 ns/op
BenchmarkFannkuch11-4 1 2700560748 ns/op
BenchmarkFannkuch11-4 1 2699984339 ns/op
PASS
fannkuch_test.go:12 0x75f940 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2872259214 ns/op
BenchmarkFannkuch11-4 1 2871156777 ns/op
BenchmarkFannkuch11-4 1 2871438686 ns/op
BenchmarkFannkuch11-4 1 2871566773 ns/op
BenchmarkFannkuch11-4 1 2872170015 ns/op
PASS
fannkuch_test.go:12 0x75f950 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2746391973 ns/op
BenchmarkFannkuch11-4 1 2700392881 ns/op
BenchmarkFannkuch11-4 1 2698300666 ns/op
BenchmarkFannkuch11-4 1 2702552531 ns/op
BenchmarkFannkuch11-4 1 2711696398 ns/op
PASS
fannkuch_test.go:12 0x75f960 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2823377657 ns/op
BenchmarkFannkuch11-4 1 2833729470 ns/op
BenchmarkFannkuch11-4 1 2836751566 ns/op
BenchmarkFannkuch11-4 1 2832615331 ns/op
BenchmarkFannkuch11-4 1 2838422556 ns/op
PASS
fannkuch_test.go:12 0x75f970 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2687647866 ns/op
BenchmarkFannkuch11-4 1 2674633646 ns/op
BenchmarkFannkuch11-4 1 2680646207 ns/op
BenchmarkFannkuch11-4 1 2677446036 ns/op
BenchmarkFannkuch11-4 1 2675928982 ns/op
PASS
fannkuch_test.go:12 0x75f980 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2718860519 ns/op
BenchmarkFannkuch11-4 1 2707259763 ns/op
BenchmarkFannkuch11-4 1 2730874571 ns/op
BenchmarkFannkuch11-4 1 2768151653 ns/op
BenchmarkFannkuch11-4 1 2712991281 ns/op
PASS
fannkuch_test.go:12 0x75f990 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2755906921 ns/op
BenchmarkFannkuch11-4 1 2760444043 ns/op
BenchmarkFannkuch11-4 1 2774135881 ns/op
BenchmarkFannkuch11-4 1 2754577594 ns/op
BenchmarkFannkuch11-4 1 2754096531 ns/op
PASS
fannkuch_test.go:12 0x75f9a0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2738990233 ns/op
BenchmarkFannkuch11-4 1 2739561996 ns/op
BenchmarkFannkuch11-4 1 2749356066 ns/op
BenchmarkFannkuch11-4 1 2738930095 ns/op
BenchmarkFannkuch11-4 1 2746038498 ns/op
PASS
fannkuch_test.go:12 0x75f9b0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2683228992 ns/op
BenchmarkFannkuch11-4 1 2688456776 ns/op
BenchmarkFannkuch11-4 1 2684098073 ns/op
BenchmarkFannkuch11-4 1 2680591467 ns/op
BenchmarkFannkuch11-4 1 2682648496 ns/op
PASS
fannkuch_test.go:12 0x75f9c0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2715631501 ns/op
BenchmarkFannkuch11-4 1 2703396743 ns/op
BenchmarkFannkuch11-4 1 2725246071 ns/op
BenchmarkFannkuch11-4 1 2721316696 ns/op
BenchmarkFannkuch11-4 1 2743999097 ns/op
PASS
fannkuch_test.go:12 0x75f9d0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2679328355 ns/op
BenchmarkFannkuch11-4 1 2687741600 ns/op
BenchmarkFannkuch11-4 1 2683315803 ns/op
BenchmarkFannkuch11-4 1 2675913143 ns/op
BenchmarkFannkuch11-4 1 2681861276 ns/op
PASS
fannkuch_test.go:12 0x75f9e0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2690848100 ns/op
BenchmarkFannkuch11-4 1 2690025844 ns/op
BenchmarkFannkuch11-4 1 2699678057 ns/op
BenchmarkFannkuch11-4 1 2715778613 ns/op
BenchmarkFannkuch11-4 1 2735784043 ns/op
PASS
fannkuch_test.go:12 0x75f9e0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2717979676 ns/op
BenchmarkFannkuch11-4 1 2720393647 ns/op
BenchmarkFannkuch11-4 1 2725767128 ns/op
BenchmarkFannkuch11-4 1 2725693862 ns/op
BenchmarkFannkuch11-4 1 2717554206 ns/op
PASS
fannkuch_test.go:12 0x75f9f0 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2682704432 ns/op
BenchmarkFannkuch11-4 1 2679986027 ns/op
BenchmarkFannkuch11-4 1 2679108464 ns/op
BenchmarkFannkuch11-4 1 2682473532 ns/op
BenchmarkFannkuch11-4 1 2689126691 ns/op
PASS
fannkuch_test.go:12 0x75fa00 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2689823572 ns/op
BenchmarkFannkuch11-4 1 2688151214 ns/op
BenchmarkFannkuch11-4 1 2693036705 ns/op
BenchmarkFannkuch11-4 1 2687578262 ns/op
BenchmarkFannkuch11-4 1 2688832490 ns/op
PASS
fannkuch_test.go:12 0x75fa10 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2734093609 ns/op
BenchmarkFannkuch11-4 1 2747294346 ns/op
BenchmarkFannkuch11-4 1 2733423092 ns/op
BenchmarkFannkuch11-4 1 2730523943 ns/op
BenchmarkFannkuch11-4 1 2729759931 ns/op
PASS
fannkuch_test.go:12 0x75fa20 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2697100175 ns/op
BenchmarkFannkuch11-4 1 2698218454 ns/op
BenchmarkFannkuch11-4 1 2704100169 ns/op
BenchmarkFannkuch11-4 1 2696653759 ns/op
BenchmarkFannkuch11-4 1 2730969611 ns/op
PASS
fannkuch_test.go:12 0x75fa30 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
BenchmarkFannkuch11-4 1 2670321850 ns/op
BenchmarkFannkuch11-4 1 2676191105 ns/op
BenchmarkFannkuch11-4 1 2671380487 ns/op
BenchmarkFannkuch11-4 1 2685116043 ns/op
BenchmarkFannkuch11-4 1 2675988758 ns/op
PASS
fannkuch_test.go:12 0x75fa40 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
#!/usr/bin/env python
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
import csv
import numpy as np
from collections import OrderedDict
from glob import glob
from os.path import basename
def readfile(path):
with open(path, 'r') as f:
return f.read()
class BenchResult:
# .entry - funnkuch() entry
# .benchv - []t(BenchmarkFannkuch11)
pass
# loadbench loads benchmark results for fannkuch() with shifted entry
def loadbench(topdir):
benchDict = OrderedDict()
for d in sorted(glob(topdir + "/[0-9][0-9][0-9][0-9]")):
entrytxt = readfile("%s/entry.txt" % d)
benchtxt = readfile("%s/bench.txt" % d)
# fannkuch_test.go:12 0x75f870 64488b0c25f8ffffff MOVQ FS:0xfffffff8, CX
entry = int(entrytxt.split()[1], 0)
# goos: linux
# goarch: amd64
# BenchmarkFannkuch11-4 1 2829784284 ns/op
# BenchmarkFannkuch11-4 1 2829017327 ns/op
# BenchmarkFannkuch11-4 1 2827053361 ns/op
# BenchmarkFannkuch11-4 1 2827030975 ns/op
# BenchmarkFannkuch11-4 1 2828888922 ns/op
# PASS
benchv = []
for benchline in benchtxt.splitlines():
_ = benchline.split() # XXX hacky
if _[0] in ('goos:', 'goarch:'):
continue
if _[0] == 'PASS':
break
assert len(_) == 4
benchv.append(int(_[2]) / 1E9)
dd = int(basename(d))
result = BenchResult()
result.entry = entry
result.benchv = benchv
benchDict[dd] = result
return benchDict
def plotbench(benchDict, **kw):
entryBase = benchDict[0].entry
entryv = []
benchvv = []
errv = []
for bb in benchDict.values():
entryv.append(bb.entry - entryBase)
#entryv.append(bb.entry)
#benchvv.append(bb.benchv)
benchvv.append(np.mean(bb.benchv)) # XXX no outlier filtering
errv.append(np.std(bb.benchv))
plt.errorbar(entryv, benchvv, yerr=errv, ecolor='black', capsize=2, **kw)
def main():
b18 = loadbench("go18")
btip = loadbench("go-4b0d74f8")
btip_cl43491 = loadbench("go-4b0d74f8+cl43491.3")
plt.figure(figsize=(12, 8))
plotbench(b18, color='green', label='go18')
plotbench(btip, color='blue', label='gotip (4b0d74f8)')
plotbench(btip_cl43491, color='red', label='gotip (4b0d74f8) + CL 43491.3')
#axes = plt.gca()
#axes.get_xaxis().set_major_formatter(ticker.FormatStrFormatter("0x%x"))
plt.title("Timing for Fannkuch11 depending on funnkuch() entry address shift")
plt.legend(loc=1)
plt.ylabel('time (s)')
plt.xlabel('entry shifted by (bytes)') # XXX or better raw address ?
#plt.show()
plt.savefig('fannkuch.png')
if __name__ == '__main__':
main()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment