Running the benchmarks in github.com/cockroachdb/cockroach/pkg/roachpb: PATH=$HOME/local/go1.10/bin:$PATH > go test -i ./pkg/roachpb && go test -run - -bench . ./pkg/roachpb -count 5 > -benchmem > gc.txt > > PATH=$GCCROOT/gcc/bin:$PATH > go test -i ./pkg/roachpb && go test -run - -bench . ./pkg/roachpb -count 5 > -benchmem > gccgo.txt > > benchstat gc.txt gccgo.txt > name old time/op new time/op delta > ValueSetBytes-16 38.7ns ± 1% 188.8ns ±44% +388.36% (p=0.008 n=5+5) > ValueSetFloat-16 27.6ns ± 1% 112.4ns ± 4% +306.95% (p=0.008 n=5+5) > ValueSetBool-16 29.5ns ± 0% 69.5ns ± 7% +135.59% (p=0.008 n=5+5) > ValueSetInt-16 35.9ns ± 1% 89.0ns ± 5% +147.83% (p=0.008 n=5+5) > ValueSetProto-16 45.5ns ± 0% 127.4ns ± 0% +180.00% (p=0.008 n=5+5) > ValueSetTime-16 52.4ns ± 1% 136.4ns ± 0% +160.40% (p=0.008 n=5+5) > ValueSetDecimal-16 95.5ns ± 1% 255.0ns ± 0% +166.96% (p=0.008 n=5+5) > ValueSetTuple-16 38.7ns ± 1% 116.0ns ± 0% +200.05% (p=0.016 n=5+4) > ValueGetBytes-16 9.22ns ± 0% 31.60ns ± 0% +242.66% (p=0.008 n=5+5) > ValueGetFloat-16 12.0ns ± 0% 49.9ns ± 0% +315.83% (p=0.016 n=4+5) > ValueGetBool-16 14.4ns ± 0% 39.3ns ± 0% +172.92% (p=0.029 n=4+4) > ValueGetInt-16 13.7ns ± 0% 37.3ns ± 0% +172.12% (p=0.016 n=4+5) > ValueGetProto-16 26.1ns ± 0% 60.5ns ± 0% +131.72% (p=0.016 n=4+5) > ValueGetTime-16 39.6ns ± 0% 172.0ns ± 0% +334.34% (p=0.008 n=5+5) > ValueGetDecimal-16 95.1ns ± 0% 264.0ns ± 0% +177.49% (p=0.008 n=5+5) > ValueGetTuple-16 9.84ns ± 0% 31.50ns ± 0% +220.25% (p=0.008 n=5+5) > name old alloc/op new alloc/op delta > ValueSetBytes-16 32.0B ± 0% 32.0B ± 0% ~ (all equal) > ValueSetFloat-16 16.0B ± 0% 16.0B ± 0% ~ (all equal) > ValueSetBool-16 8.00B ± 0% 8.00B ± 0% ~ (all equal) > ValueSetInt-16 16.0B ± 0% 16.0B ± 0% ~ (all equal) > ValueSetProto-16 8.00B ± 0% 8.00B ± 0% ~ (all equal) > ValueSetTime-16 16.0B ± 0% 16.0B ± 0% ~ (all equal) > ValueSetDecimal-16 32.0B ± 0% 32.0B ± 0% ~ (all equal) > ValueSetTuple-16 32.0B ± 0% 32.0B ± 0% ~ (all equal) > ValueGetBytes-16 0.00B 0.00B ~ (all equal) > ValueGetFloat-16 0.00B 0.00B ~ (all equal) > ValueGetBool-16 0.00B 0.00B ~ (all equal) > ValueGetInt-16 0.00B 0.00B ~ (all equal) > ValueGetProto-16 0.00B 0.00B ~ (all equal) > ValueGetTime-16 0.00B 0.00B ~ (all equal) > ValueGetDecimal-16 48.0B ± 0% 48.0B ± 0% ~ (all equal) > ValueGetTuple-16 0.00B 0.00B ~ (all equal) > name old allocs/op new allocs/op delta > ValueSetBytes-16 1.00 ± 0% 1.00 ± 0% ~ (all equal) > ValueSetFloat-16 1.00 ± 0% 1.00 ± 0% ~ (all equal) > ValueSetBool-16 1.00 ± 0% 1.00 ± 0% ~ (all equal) > ValueSetInt-16 1.00 ± 0% 1.00 ± 0% ~ (all equal) > ValueSetProto-16 1.00 ± 0% 1.00 ± 0% ~ (all equal) > ValueSetTime-16 1.00 ± 0% 1.00 ± 0% ~ (all equal) > ValueSetDecimal-16 1.00 ± 0% 1.00 ± 0% ~ (all equal) > ValueSetTuple-16 1.00 ± 0% 1.00 ± 0% ~ (all equal) > ValueGetBytes-16 0.00 0.00 ~ (all equal) > ValueGetFloat-16 0.00 0.00 ~ (all equal) > ValueGetBool-16 0.00 0.00 ~ (all equal) > ValueGetInt-16 0.00 0.00 ~ (all equal) > ValueGetProto-16 0.00 0.00 ~ (all equal) > ValueGetTime-16 0.00 0.00 ~ (all equal) > ValueGetDecimal-16 1.00 ± 0% 1.00 ± 0% ~ (all equal) > ValueGetTuple-16 0.00 0.00 ~ (all equal)
I chose this package because it doesn't depend on any of the fancy Makefile magic in the CockroachDB repo; you should be able to reproduce these results using just the go tool. Are these results expected? I did minimal digging using pprof and perf but nothing obvious jumps out - things are just slower across the board. These results are on linux amd64. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.