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.

Reply via email to