What does all do? Anyway, the results are better, but still not "good":
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/a82f431e184a9ac922ad43df73cdcc > 702ab0f279 > > > > 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.