On Thu, Feb 15, 2018 at 11:31 AM, Tamir Duberstein <tam...@gmail.com> wrote: > What does all do? Anyway, the results are better, but still not "good":
Using "all" applies the options to all packages, not just the one being built. Thanks for the benchmarks, it's something to look at. Ian >> name old time/op new time/op delta >> ValueSetBytes-16 38.5ns ± 0% 105.8ns ± 4% +174.81% (p=0.008 >> n=5+5) >> ValueSetFloat-16 27.5ns ± 1% 73.2ns ± 1% +166.38% (p=0.008 >> n=5+5) >> ValueSetBool-16 29.4ns ± 0% 52.2ns ± 5% +77.77% (p=0.016 >> n=4+5) >> ValueSetInt-16 34.0ns ± 1% 74.8ns ± 1% +119.62% (p=0.008 >> n=5+5) >> ValueSetProto-16 45.4ns ± 0% 87.8ns ± 1% +93.57% (p=0.008 >> n=5+5) >> ValueSetTime-16 52.9ns ± 1% 111.4ns ±18% +110.67% (p=0.008 >> n=5+5) >> ValueSetDecimal-16 94.6ns ± 0% 214.2ns ±36% +126.43% (p=0.008 >> n=5+5) >> ValueSetTuple-16 38.7ns ± 0% 105.6ns ± 3% +172.87% (p=0.008 >> n=5+5) >> ValueGetBytes-16 9.22ns ± 0% 11.60ns ± 0% +25.84% (p=0.008 >> n=5+5) >> ValueGetFloat-16 12.0ns ± 0% 23.8ns ± 0% +97.67% (p=0.016 >> n=5+4) >> ValueGetBool-16 14.4ns ± 0% 15.2ns ± 0% +5.56% (p=0.029 >> n=4+4) >> ValueGetInt-16 13.7ns ± 0% 14.6ns ± 0% +6.57% (p=0.016 >> n=5+4) >> ValueGetProto-16 26.1ns ± 0% 22.6ns ± 0% -13.41% (p=0.008 >> n=5+5) >> ValueGetTime-16 41.0ns ± 4% 78.9ns ± 0% +92.68% (p=0.008 >> n=5+5) >> ValueGetDecimal-16 130ns ±24% 183ns ± 1% +40.29% (p=0.008 >> n=5+5) >> ValueGetTuple-16 9.87ns ± 1% 11.60ns ± 0% +17.58% (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) > > > On Thu, Feb 15, 2018 at 2:00 PM, Ian Lance Taylor <i...@golang.org> wrote: >> >> On Thu, Feb 15, 2018 at 10:59 AM, Ian Lance Taylor <i...@golang.org> >> wrote: >> > On Thu, Feb 15, 2018 at 6:42 AM, Tamir Duberstein <tam...@gmail.com> >> > wrote: >> >> Built at this revision: >> >> >> >> https://github.com/gcc-mirror/gcc/commit/a82f431e184a9ac922ad43df73cdcc702ab0f279 >> > >> > Thanks. What do you see from >> > >> > go test -gccgoflags="-g -O2" >> > >> > ? >> >> Sorry, make that >> >> go test -gccgoflags=all="-g -O2" >> >> Ian >> >> >> On Wed, Feb 14, 2018 at 7:44 PM, Ian Lance Taylor <i...@golang.org> >> >> wrote: >> >>> >> >>> On Wed, Feb 14, 2018 at 12:00 PM, Tamir Duberstein <tam...@gmail.com> >> >>> wrote: >> >>> > 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. >> >>> >> >>> Which version of gccgo? >> >>> >> >>> Ian >> >> >> >> > > -- 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.