[perf] cmd/benchstat: new version of benchstat

157 views
Skip to first unread message

Austin Clements (Gerrit)

unread,
Nov 3, 2021, 10:11:07 PM11/3/21
to Austin Clements, goph...@pubsubhelper.golang.org, Russ Cox, David Chase, Jeremy Faller, golang-co...@googlegroups.com

Attention is currently required from: David Chase, Russ Cox.

View Change

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 2
    Gerrit-Owner: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: David Chase <drc...@google.com>
    Gerrit-Reviewer: Russ Cox <r...@golang.org>
    Gerrit-CC: Jeremy Faller <jer...@golang.org>
    Gerrit-Attention: David Chase <drc...@google.com>
    Gerrit-Attention: Russ Cox <r...@golang.org>
    Gerrit-Comment-Date: Thu, 04 Nov 2021 02:11:03 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: No
    Gerrit-MessageType: comment

    Austin Clements (Gerrit)

    unread,
    Nov 3, 2021, 10:20:32 PM11/3/21
    to Austin Clements, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com

    Attention is currently required from: David Chase, Russ Cox.

    Austin Clements uploaded patch set #3 to this change.

    View Change

    cmd/benchstat: new version of benchstat

    This is a complete rewrite of benchstat. Basic usage remains the same,
    as does the core idea of showing statistical benchmark summaries and
    A/B comparisons in a table, but there are several major improvements.

    The statistics is now more robust. Previously, benchstat used
    IQR-based outlier rejection, showed the mean of the reduced sample,
    its range, and did a non-parametric difference-of-distribution test on
    reduced samples. Any form of outlier rejection must start with
    distributional assumptions, in this case assuming normality, which is
    generally not sound for benchmark data. Hence, now benchstat does not
    do any outlier rejection. As a result, it must use robust summary
    statistics as well, so benchstat now uses the median and confidence
    interval of the median as summary statistics. Benchstat continues to
    use the same Mann-Whitney U-test for the delta, but now does it on the
    full samples since the U-test is already non-parametric, hence
    increasing the power of this test.

    As part of these statistical improvements, benchstat now detects and
    warns about several common mistakes, such as having too few samples
    for meaningful statistical results, or having incomparable geomeans.

    The output format is more consistent. Previously, benchstat
    transformed units like "ns/op" into a metric like "time/op", which it
    used as a column header; and a numerator like "sec", which it used to
    label each measurement. This was easy enough for the standard units
    used by the testing framework, but was basically impossible to
    generalize to custom units. Now, benchstat does unit scaling, but
    otherwise leaves units alone. The full (scaled) unit is used as a
    column header and each measurement is simply a scaled value shown with
    an SI prefix. This also means that the text and CSV formats can be
    much more similar while still allowing the CSV format to be usefully
    machine-readable.

    Benchstat will also now do A/B comparisons even if there are more than
    two inputs. It shows a comparison to the base in the second and all
    subsequent columns. This approach is consistent for any number of
    inputs.

    Benchstat now supports the full Go benchmark format, including
    sophisticated control over exactly how it structures the results into
    rows, columns, and tables. This makes it easy to do meaningful
    comparisons across benchmark data that isn't simply structured into
    two input files, and gives significantly more control over how results
    are sorted. The default behavior is still to turn each input file into
    a column and each benchmark into a row.

    Fixes golang/go#19565 by showing all results, even if the benchmark
    sets don't match across columns, and warning when geomean sets are
    incompatible.

    Fixes golang/go#19634 by no longer doing outlier rejection and clearly
    reporting when there are not enough samples to do a meaningful
    difference test.

    Updates golang/go#23471 by providing more through command
    documentation. I'm not sure it quite fixes this issue, but it's much
    better than it was.

    Fixes golang/go#30368 because benchstat now supports filter
    expressions, which can also filter down units.

    Fixes golang/go#33169 because benchstat now always shows file
    configuration labels.

    Updates golang/go#43744 by integrating unit metadata to control
    statistical assumptions into the main tool that implements those
    assumptions.

    Fixes golang/go#48380 by introducing a way to override labels from the
    command line rather than always using file names.

    Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    ---
    D cmd/benchstat/testdata/allnosplitcsv.golden
    D cmd/benchstat/testdata/packagesold.txt
    D cmd/benchstat/testdata/packagesold.golden
    D cmd/benchstat/testdata/slashslash4.txt
    A cmd/benchstat/testdata/crcOldNew.stdout
    D cmd/benchstat/testdata/rdeltasort.golden
    A cmd/benchstat/testdata/issue19634.stdout
    D cmd/benchstat/testdata/units-new.txt
    D cmd/benchstat/testdata/examplehtml.golden
    A cmd/benchstat/testdata/docColFormat.stdout
    D cmd/benchstat/testdata/namesort.golden
    A cmd/benchstat/internal/benchtab/table.go
    D cmd/benchstat/testdata/allnosplit.golden
    A cmd/benchstat/testdata/smallSample.txt
    A cmd/benchstat/testdata/units.txt
    D cmd/benchstat/testdata/new4.golden
    D cmd/benchstat/testdata/zero-old.txt
    A cmd/benchstat/testdata/issue19634.txt
    A cmd/benchstat/testdata/docSorting.stdout
    A cmd/benchstat/testdata/units.stdout
    D cmd/benchstat/testdata/all.golden
    D cmd/benchstat/testdata/units.golden
    D cmd/benchstat/testdata/exampleold.txt
    A cmd/benchstat/testdata/crcSizeVsPoly.stdout
    A cmd/benchstat/testdata/smallSample.stdout
    A cmd/benchstat/internal/texttab/table.go
    A cmd/benchstat/testdata/docLabels.stdout
    A cmd/benchstat/testdata/issue19565.stdout
    M cmd/benchstat/testdata/new.txt
    D cmd/benchstat/testdata/allnorangecsv.golden
    A cmd/benchstat/internal/benchtab/builder.go
    A cmd/benchstat/testdata/crc-new.txt
    A cmd/benchstat/testdata/issue19565.txt
    D cmd/benchstat/testdata/packagesnew.txt
    D cmd/benchstat/testdata/oldnewttest.golden
    A cmd/benchstat/testdata/zero.stdout
    D cmd/benchstat/testdata/oldnew4html.golden
    D cmd/benchstat/testdata/zero.golden
    A cmd/benchstat/testdata/.gitignore
    A cmd/benchstat/testdata/csvErrors.stderr
    A cmd/benchstat/testdata/csvOldNew.stdout
    D cmd/benchstat/testdata/oldnewgeo.golden
    D cmd/benchstat/testdata/examplenew.txt
    D cmd/benchstat/testdata/oldcsv.golden
    D cmd/benchstat/testdata/exampleoldhtml.golden
    D cmd/benchstat/testdata/units-old.txt
    D cmd/benchstat/testdata/deltasort.golden
    D cmd/benchstat/testdata/packages.golden
    A cmd/benchstat/internal/texttab/table_test.go
    A cmd/benchstat/testdata/csvErrors.stdout
    M cmd/benchstat/main_test.go
    A cmd/benchstat/testdata/docColFormat2.stdout
    M cmd/benchstat/testdata/old.txt
    D cmd/benchstat/testdata/exampleold.golden
    A cmd/benchstat/testdata/zero.txt
    D cmd/benchstat/testdata/oldnew.golden
    A benchstat/doc.go
    D cmd/benchstat/testdata/allcsv.golden
    A cmd/benchstat/testdata/docOldNew.stdout
    D cmd/benchstat/testdata/oldnewhtml.golden
    D cmd/benchstat/testdata/zero-new.txt
    A cmd/benchstat/testdata/bench_test.go
    D cmd/benchstat/testdata/x386.txt
    A cmd/benchstat/testdata/crcIgnore.stdout
    M cmd/benchstat/main.go
    A cmd/benchstat/testdata/crc-old.txt
    D cmd/benchstat/README.md
    A cmd/benchstat/testdata/docRowName.stdout
    D cmd/benchstat/testdata/example.golden
    69 files changed, 3,127 insertions(+), 3,156 deletions(-)

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 3
    Gerrit-Owner: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: David Chase <drc...@google.com>
    Gerrit-Reviewer: Russ Cox <r...@golang.org>
    Gerrit-CC: Jeremy Faller <jer...@golang.org>
    Gerrit-Attention: David Chase <drc...@google.com>
    Gerrit-Attention: Russ Cox <r...@golang.org>
    Gerrit-MessageType: newpatchset

    Dan Kortschak (Gerrit)

    unread,
    Nov 4, 2021, 12:05:54 AM11/4/21
    to Austin Clements, goph...@pubsubhelper.golang.org, Josh Bleecher Snyder, Russ Cox, David Chase, Jeremy Faller, golang-co...@googlegroups.com

    Attention is currently required from: Austin Clements, David Chase, Russ Cox.

    View Change

    3 comments:

    • Patchset:

    • File cmd/benchstat/main.go:

      • Patch Set #3, Line 104: confidence interval summaries

        Specify what the CI is? 95%?

      • Patch Set #3, Line 122:

        // Finally, the last row of the table shows the geometric mean of each
        // column, giving an overall picture of how the benchmarks moved.

        Given that benchmarks in a suite may operate on wildly different timescales, this seems like an unsound thing to do.

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 3
    Gerrit-Owner: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: David Chase <drc...@google.com>
    Gerrit-Reviewer: Russ Cox <r...@golang.org>
    Gerrit-CC: Dan Kortschak <d...@kortschak.io>
    Gerrit-CC: Jeremy Faller <jer...@golang.org>
    Gerrit-CC: Josh Bleecher Snyder <josh...@gmail.com>
    Gerrit-Attention: Austin Clements <aus...@google.com>
    Gerrit-Attention: David Chase <drc...@google.com>
    Gerrit-Attention: Russ Cox <r...@golang.org>
    Gerrit-Comment-Date: Thu, 04 Nov 2021 04:05:47 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Gerrit-MessageType: comment

    Austin Clements (Gerrit)

    unread,
    Nov 4, 2021, 11:49:34 AM11/4/21
    to Austin Clements, goph...@pubsubhelper.golang.org, Dan Kortschak, Josh Bleecher Snyder, Russ Cox, David Chase, Jeremy Faller, golang-co...@googlegroups.com

    Attention is currently required from: David Chase, Dan Kortschak, Russ Cox.

    View Change

    3 comments:

    • Patchset:

      • Thanks! This has been a long time in the making.

    • File cmd/benchstat/main.go:

      • Done (this is configurable via a flag, but does default to 95%)

      • Patch Set #3, Line 122:

        // Finally, the last row of the table shows the geometric mean of each
        // column, giving an overall picture of how the benchmarks moved.

      • Given that benchmarks in a suite may operate on wildly different timescales, this seems like an unso […]

        This is why we use a geometric mean instead of an arithmetic mean. Proportional changes in the geomean reflect proportional changes in the benchmarks, regardless of the relative time scales of different benchmarks. For example, given n benchmarks, if sec/op for one of them increases by a factor of 2, then the geomean of sec/op will increase by a factor of ⁿ√2.

        I'll add some text to the comment to explain this.

        (It also has the nice property that the delta of the geomeans is the geomean of the deltas.)

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 3
    Gerrit-Owner: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: David Chase <drc...@google.com>
    Gerrit-Reviewer: Russ Cox <r...@golang.org>
    Gerrit-CC: Dan Kortschak <d...@kortschak.io>
    Gerrit-CC: Jeremy Faller <jer...@golang.org>
    Gerrit-CC: Josh Bleecher Snyder <josh...@gmail.com>
    Gerrit-Attention: David Chase <drc...@google.com>
    Gerrit-Attention: Dan Kortschak <d...@kortschak.io>
    Gerrit-Attention: Russ Cox <r...@golang.org>
    Gerrit-Comment-Date: Thu, 04 Nov 2021 15:49:26 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Dan Kortschak <d...@kortschak.io>
    Gerrit-MessageType: comment

    Austin Clements (Gerrit)

    unread,
    Nov 4, 2021, 11:50:00 AM11/4/21
    to Austin Clements, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com

    Attention is currently required from: David Chase, Dan Kortschak, Russ Cox.

    Austin Clements uploaded patch set #4 to this change.

    View Change

    69 files changed, 3,131 insertions(+), 3,156 deletions(-)

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 4
    Gerrit-Owner: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: David Chase <drc...@google.com>
    Gerrit-Reviewer: Russ Cox <r...@golang.org>
    Gerrit-CC: Dan Kortschak <d...@kortschak.io>
    Gerrit-CC: Jeremy Faller <jer...@golang.org>
    Gerrit-CC: Josh Bleecher Snyder <josh...@gmail.com>
    Gerrit-Attention: David Chase <drc...@google.com>
    Gerrit-Attention: Dan Kortschak <d...@kortschak.io>
    Gerrit-Attention: Russ Cox <r...@golang.org>
    Gerrit-MessageType: newpatchset

    Dan Kortschak (Gerrit)

    unread,
    Nov 4, 2021, 4:24:38 PM11/4/21
    to Austin Clements, goph...@pubsubhelper.golang.org, Josh Bleecher Snyder, Russ Cox, David Chase, Jeremy Faller, golang-co...@googlegroups.com

    Attention is currently required from: Austin Clements, David Chase, Russ Cox.

    View Change

    1 comment:

      • // Finally, the last row of the table shows the geometric mean of each
        // column, giving an overall picture of how the benchmarks moved.

      • This is why we use a geometric mean instead of an arithmetic mean. […]

        Yes, I think some explanatory text about the interpretation of this and what its limitations are would be very helpful. The two most common difficult situations I would say are when the times vary greatly between the benchmarks in a set (we often see this in Gonum benchmarks when there are problem size range-specific optimisations that we want to cover) and when changes have complex interactions with performance, improving some benchmarks and making others worse while keeping overall time the same (I would imagine this is fairly common in toolchain-related benchmarks and benchmarks for the standard library).

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 4
    Gerrit-Owner: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: David Chase <drc...@google.com>
    Gerrit-Reviewer: Russ Cox <r...@golang.org>
    Gerrit-CC: Dan Kortschak <d...@kortschak.io>
    Gerrit-CC: Jeremy Faller <jer...@golang.org>
    Gerrit-CC: Josh Bleecher Snyder <josh...@gmail.com>
    Gerrit-Attention: Austin Clements <aus...@google.com>
    Gerrit-Attention: David Chase <drc...@google.com>
    Gerrit-Attention: Russ Cox <r...@golang.org>
    Gerrit-Comment-Date: Thu, 04 Nov 2021 20:24:31 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Austin Clements <aus...@google.com>

    David Chase (Gerrit)

    unread,
    Nov 4, 2021, 4:45:07 PM11/4/21
    to Austin Clements, goph...@pubsubhelper.golang.org, Dan Kortschak, Josh Bleecher Snyder, Russ Cox, Jeremy Faller, golang-co...@googlegroups.com

    Attention is currently required from: Austin Clements, Russ Cox.

    View Change

    7 comments:

    • File cmd/benchstat/internal/benchtab/builder.go:

      • Patch Set #3, Line 129: table

        should this be capital-T Table?
        especially, because there is a lower-t table type defined on line 37.

      • Patch Set #3, Line 161: ok := opts.Units.Get(unit, "assume"); ok

        if it's not "ok", dist is "", which is not "exact", right?

      • Patch Set #3, Line 217:

        Count the number of baseline benchmarks so we can
        // test if later columns don't match.

        Is it possible that later columns could have same number of benchmarks, but different benchmarks?

      • Patch Set #3, Line 306: badRatio = true

        Is it worth keeping track of which cell this is, for better error reporting?

    • File cmd/benchstat/internal/benchtab/table.go:

      • Patch Set #3, Line 81: summarizes a column of a Table.

        Is it worth repeating here that this appears as a cell in the final row of a table, in its corresponding column? I had a little glitch when I read "summary cell" in the Warnings document, the warnings are "for" the column, so tying this cell to its column a little more explicitly would help.

      • Patch Set #3, Line 103: RowValues

        would RowSummaries be a better name for this?

      • Patch Set #3, Line 108: out = append(out, cell.Summary.Center)

        If a column is missing, would it be better to append something like a NaN here? Otherwise the summary values don't align with the columns -- it's not "every sample", exactly. Or is that not an intended case?

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 4
    Gerrit-Owner: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: David Chase <drc...@google.com>
    Gerrit-Reviewer: Russ Cox <r...@golang.org>
    Gerrit-CC: Dan Kortschak <d...@kortschak.io>
    Gerrit-CC: Jeremy Faller <jer...@golang.org>
    Gerrit-CC: Josh Bleecher Snyder <josh...@gmail.com>
    Gerrit-Attention: Austin Clements <aus...@google.com>
    Gerrit-Attention: Russ Cox <r...@golang.org>
    Gerrit-Comment-Date: Thu, 04 Nov 2021 20:45:01 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Gerrit-MessageType: comment

    Rodolfo Carvalho (Gerrit)

    unread,
    Nov 7, 2021, 5:18:02 PM11/7/21
    to Austin Clements, goph...@pubsubhelper.golang.org, Dan Kortschak, Josh Bleecher Snyder, Russ Cox, David Chase, Jeremy Faller, golang-co...@googlegroups.com

    Attention is currently required from: Austin Clements, Russ Cox.

    View Change

    3 comments:

    • Patchset:

    • File cmd/benchstat/main.go:

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 4
    Gerrit-Owner: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: David Chase <drc...@google.com>
    Gerrit-Reviewer: Russ Cox <r...@golang.org>
    Gerrit-CC: Dan Kortschak <d...@kortschak.io>
    Gerrit-CC: Jeremy Faller <jer...@golang.org>
    Gerrit-CC: Josh Bleecher Snyder <josh...@gmail.com>
    Gerrit-CC: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: Austin Clements <aus...@google.com>
    Gerrit-Attention: Russ Cox <r...@golang.org>
    Gerrit-Comment-Date: Sun, 07 Nov 2021 22:17:56 +0000

    David Chase (Gerrit)

    unread,
    Dec 16, 2021, 3:21:18 PM12/16/21
    to Austin Clements, goph...@pubsubhelper.golang.org, Rodolfo Carvalho, Dan Kortschak, Josh Bleecher Snyder, Russ Cox, Jeremy Faller, golang-co...@googlegroups.com

    Attention is currently required from: Austin Clements, Russ Cox.

    View Change

    1 comment:

    • File cmd/benchstat/main.go:

      • Patch Set #4, Line 216:

        // give them different (perhaps shorter) labels than the full file
        // names:
        //
        // $ benchstat A=old.txt B=new.txt

        This is confusing. It implies that you did something to convert A.txt and B.txt into A and B, but what did you do? Maybe it's automatic in the obvious way, but the documentation doesn't say that.

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 4
    Gerrit-Owner: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: David Chase <drc...@google.com>
    Gerrit-Reviewer: Russ Cox <r...@golang.org>
    Gerrit-CC: Dan Kortschak <d...@kortschak.io>
    Gerrit-CC: Jeremy Faller <jer...@golang.org>
    Gerrit-CC: Josh Bleecher Snyder <josh...@gmail.com>
    Gerrit-CC: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: Austin Clements <aus...@google.com>
    Gerrit-Attention: Russ Cox <r...@golang.org>
    Gerrit-Comment-Date: Thu, 16 Dec 2021 20:21:12 +0000

    Austin Clements (Gerrit)

    unread,
    Jan 20, 2022, 11:29:51 AM1/20/22
    to Austin Clements, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com

    Attention is currently required from: Austin Clements, Russ Cox.

    Austin Clements uploaded patch set #5 to this change.

    View Change

    D cmd/benchstat/testdata/namesort.golden
    A cmd/benchstat/internal/benchtab/table.go
    D cmd/benchstat/testdata/allnosplit.golden
    A cmd/benchstat/testdata/smallSample.txt
    A cmd/benchstat/testdata/units.txt
    D cmd/benchstat/testdata/new4.golden
    D cmd/benchstat/testdata/zero-old.txt
    A cmd/benchstat/testdata/issue19634.txt
    A cmd/benchstat/doc_test.go

    A cmd/benchstat/testdata/units.stdout
    D cmd/benchstat/testdata/all.golden
    D cmd/benchstat/testdata/units.golden
    D cmd/benchstat/testdata/exampleold.txt
    A cmd/benchstat/testdata/crcSizeVsPoly.stdout
    A cmd/benchstat/testdata/smallSample.stdout
    A cmd/benchstat/internal/texttab/table.go
    A cmd/benchstat/testdata/issue19565.stdout
    M cmd/benchstat/testdata/new.txt
    D cmd/benchstat/testdata/allnorangecsv.golden
    A cmd/benchstat/internal/benchtab/builder.go
    A cmd/benchstat/testdata/crc-new.txt
    A cmd/benchstat/testdata/issue19565.txt
    D cmd/benchstat/testdata/packagesnew.txt
    D cmd/benchstat/testdata/oldnewttest.golden
    A cmd/benchstat/testdata/zero.stdout
    D cmd/benchstat/testdata/oldnew4html.golden
    D cmd/benchstat/testdata/zero.golden
    A cmd/benchstat/testdata/.gitignore
    A cmd/benchstat/testdata/csvErrors.stderr
    A cmd/benchstat/testdata/csvOldNew.stdout
    D cmd/benchstat/testdata/oldnewgeo.golden
    D cmd/benchstat/testdata/examplenew.txt
    D cmd/benchstat/testdata/oldcsv.golden
    D cmd/benchstat/testdata/exampleoldhtml.golden
    D cmd/benchstat/testdata/units-old.txt
    D cmd/benchstat/testdata/deltasort.golden
    D cmd/benchstat/testdata/packages.golden
    A cmd/benchstat/internal/texttab/table_test.go
    A cmd/benchstat/testdata/csvErrors.stdout
    M cmd/benchstat/main_test.go
    M cmd/benchstat/testdata/old.txt
    D cmd/benchstat/testdata/exampleold.golden
    A cmd/benchstat/testdata/zero.txt
    D cmd/benchstat/testdata/oldnew.golden
    A benchstat/doc.go
    D cmd/benchstat/testdata/allcsv.golden
    D cmd/benchstat/testdata/oldnewhtml.golden
    D cmd/benchstat/testdata/zero-new.txt
    A cmd/benchstat/testdata/bench_test.go
    D cmd/benchstat/testdata/x386.txt
    A cmd/benchstat/testdata/crcIgnore.stdout
    M cmd/benchstat/main.go
    A cmd/benchstat/testdata/crc-old.txt
    D cmd/benchstat/README.md
    D cmd/benchstat/testdata/example.golden
    64 files changed, 3,328 insertions(+), 3,160 deletions(-)

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 5
    Gerrit-Owner: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: David Chase <drc...@google.com>
    Gerrit-Reviewer: Russ Cox <r...@golang.org>
    Gerrit-CC: Dan Kortschak <d...@kortschak.io>
    Gerrit-CC: Jeremy Faller <jer...@golang.org>
    Gerrit-CC: Josh Bleecher Snyder <josh...@gmail.com>
    Gerrit-CC: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: Austin Clements <aus...@google.com>
    Gerrit-Attention: Russ Cox <r...@golang.org>
    Gerrit-MessageType: newpatchset

    Austin Clements (Gerrit)

    unread,
    Jan 20, 2022, 11:32:23 AM1/20/22
    to Austin Clements, goph...@pubsubhelper.golang.org, Gopher Robot, Rodolfo Carvalho, Dan Kortschak, Josh Bleecher Snyder, Russ Cox, David Chase, Jeremy Faller, golang-co...@googlegroups.com

    Attention is currently required from: Rodolfo Carvalho, David Chase, Russ Cox.

    View Change

    10 comments:

    • File cmd/benchstat/internal/benchtab/builder.go:

      • should this be capital-T Table? […]

        Good point. I actually renamed lower-t table to builderTable (and cell to builderCell) to make it clear those are the parallel types used within builder.

      • Patch Set #3, Line 161: ok := opts.Units.Get(unit, "assume"); ok

        if it's not "ok", dist is "", which is not "exact", right?

      • Done

      • Patch Set #3, Line 217:

        Count the number of baseline benchmarks so we can
        // test if later columns don't match.

        Is it possible that later columns could have same number of benchmarks, but different benchmarks?

      • That is possible, yes, but it won't cause a problem here. summarizeCol compares this number against how many measurements in that column have a baseline pairing, not just the number of measurements in that column.

        I've improved the comment here and also updated the issue19565 test case to cover this.

      • Patch Set #3, Line 306: badRatio = true

        Is it worth keeping track of which cell this is, for better error reporting?

      • The delta will show up as "?". Do you think this needs additional reporting?

        I've enhanced TestZero to cover this case.

    • File cmd/benchstat/internal/benchtab/table.go:

      • Is it worth repeating here that this appears as a cell in the final row of a table, in its correspon […]

        Done

      • Sure. Done.

      • If a column is missing, would it be better to append something like a NaN here? Otherwise the summa […]

        Good point. Adding NaNs will mess up the one actual use case for this. Given that this method only has one use case and that it's actually a little specialized to that use case, I've replace it with a new "RowScaler" method that collects the row values and returns the common scaler, which is the one thing we used RowValues for. I think the result is clearer.

    • File cmd/benchstat/main.go:

      • Done

      • Patch Set #4, Line 216:

        // give them different (perhaps shorter) labels than the full file
        // names:
        //
        // $ benchstat A=old.txt B=new.txt

      • This is confusing. It implies that you did something to convert A.txt and B. […]

        I believe you that you found this confusing, but I find your comment confusing, so I'm not sure what to fix. :) What are A.txt and B.txt?

        The command is saying "read old.txt, but label it A in the output; and read new.txt and label it B in the output."

        I rewrote this text a bit. Maybe it's clearer now?

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 5
    Gerrit-Owner: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: David Chase <drc...@google.com>
    Gerrit-Reviewer: Russ Cox <r...@golang.org>
    Gerrit-CC: Dan Kortschak <d...@kortschak.io>
    Gerrit-CC: Gopher Robot <go...@golang.org>
    Gerrit-CC: Jeremy Faller <jer...@golang.org>
    Gerrit-CC: Josh Bleecher Snyder <josh...@gmail.com>
    Gerrit-CC: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: David Chase <drc...@google.com>
    Gerrit-Attention: Russ Cox <r...@golang.org>
    Gerrit-Comment-Date: Thu, 20 Jan 2022 16:32:18 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Rodolfo Carvalho <rhcar...@gmail.com>
    Comment-In-Reply-To: David Chase <drc...@google.com>
    Gerrit-MessageType: comment

    Michael Pratt (Gerrit)

    unread,
    Jan 20, 2022, 4:42:28 PM1/20/22
    to Austin Clements, goph...@pubsubhelper.golang.org, Michael Pratt, Gopher Robot, Rodolfo Carvalho, Dan Kortschak, Josh Bleecher Snyder, Russ Cox, David Chase, Jeremy Faller, golang-co...@googlegroups.com

    Attention is currently required from: Rodolfo Carvalho, Austin Clements, David Chase, Russ Cox.

    Patch set 5:Code-Review +1

    View Change

    2 comments:

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 5
    Gerrit-Owner: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: David Chase <drc...@google.com>
    Gerrit-Reviewer: Gopher Robot <go...@golang.org>
    Gerrit-Reviewer: Michael Pratt <mpr...@google.com>
    Gerrit-Reviewer: Russ Cox <r...@golang.org>
    Gerrit-CC: Dan Kortschak <d...@kortschak.io>
    Gerrit-CC: Jeremy Faller <jer...@golang.org>
    Gerrit-CC: Josh Bleecher Snyder <josh...@gmail.com>
    Gerrit-CC: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: Austin Clements <aus...@google.com>
    Gerrit-Attention: David Chase <drc...@google.com>
    Gerrit-Attention: Russ Cox <r...@golang.org>
    Gerrit-Comment-Date: Thu, 20 Jan 2022 21:42:21 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    Gerrit-MessageType: comment

    Austin Clements (Gerrit)

    unread,
    Jan 21, 2022, 3:56:52 PM1/21/22
    to Austin Clements, goph...@pubsubhelper.golang.org, Michael Pratt, Gopher Robot, Rodolfo Carvalho, Dan Kortschak, Josh Bleecher Snyder, Russ Cox, David Chase, Jeremy Faller, golang-co...@googlegroups.com

    Attention is currently required from: Rodolfo Carvalho, Michael Pratt, David Chase, Russ Cox.

    View Change

    1 comment:

      • There is no B/op output, so it seems odd to include this?

      • There's only one unit in the example. :( Maybe I could turn on more measurements...

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 6
    Gerrit-Owner: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: David Chase <drc...@google.com>
    Gerrit-Reviewer: Gopher Robot <go...@golang.org>
    Gerrit-Reviewer: Michael Pratt <mpr...@google.com>
    Gerrit-Reviewer: Russ Cox <r...@golang.org>
    Gerrit-CC: Dan Kortschak <d...@kortschak.io>
    Gerrit-CC: Jeremy Faller <jer...@golang.org>
    Gerrit-CC: Josh Bleecher Snyder <josh...@gmail.com>
    Gerrit-CC: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: Michael Pratt <mpr...@google.com>
    Gerrit-Attention: David Chase <drc...@google.com>
    Gerrit-Attention: Russ Cox <r...@golang.org>
    Gerrit-Comment-Date: Fri, 21 Jan 2022 20:56:44 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Michael Pratt <mpr...@google.com>
    Gerrit-MessageType: comment

    Michael Pratt (Gerrit)

    unread,
    Jan 21, 2022, 4:02:31 PM1/21/22
    to Austin Clements, goph...@pubsubhelper.golang.org, Michael Pratt, Gopher Robot, Rodolfo Carvalho, Dan Kortschak, Josh Bleecher Snyder, Russ Cox, David Chase, Jeremy Faller, golang-co...@googlegroups.com

    Attention is currently required from: Rodolfo Carvalho, Austin Clements, David Chase, Russ Cox.

    View Change

    1 comment:

    • File cmd/benchstat/main.go:

      • There's only one unit in the example. :( Maybe I could turn on more measurements...

        json/gob encoding should allocate, so perhaps just add b.ReportAllocs() to the benchmark?

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 6
    Gerrit-Owner: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: David Chase <drc...@google.com>
    Gerrit-Reviewer: Gopher Robot <go...@golang.org>
    Gerrit-Reviewer: Michael Pratt <mpr...@google.com>
    Gerrit-Reviewer: Russ Cox <r...@golang.org>
    Gerrit-CC: Dan Kortschak <d...@kortschak.io>
    Gerrit-CC: Jeremy Faller <jer...@golang.org>
    Gerrit-CC: Josh Bleecher Snyder <josh...@gmail.com>
    Gerrit-CC: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: Austin Clements <aus...@google.com>
    Gerrit-Attention: David Chase <drc...@google.com>
    Gerrit-Attention: Russ Cox <r...@golang.org>
    Gerrit-Comment-Date: Fri, 21 Jan 2022 21:02:25 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Austin Clements <aus...@google.com>

    Austin Clements (Gerrit)

    unread,
    Jan 21, 2022, 4:09:32 PM1/21/22
    to Austin Clements, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com

    Attention is currently required from: Rodolfo Carvalho, Austin Clements, David Chase, Russ Cox.

    Austin Clements uploaded patch set #8 to this change.

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 8
    Gerrit-Owner: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: David Chase <drc...@google.com>
    Gerrit-Reviewer: Gopher Robot <go...@golang.org>
    Gerrit-Reviewer: Michael Pratt <mpr...@google.com>
    Gerrit-Reviewer: Russ Cox <r...@golang.org>
    Gerrit-CC: Dan Kortschak <d...@kortschak.io>
    Gerrit-CC: Jeremy Faller <jer...@golang.org>
    Gerrit-CC: Josh Bleecher Snyder <josh...@gmail.com>
    Gerrit-CC: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: Austin Clements <aus...@google.com>
    Gerrit-Attention: David Chase <drc...@google.com>
    Gerrit-Attention: Russ Cox <r...@golang.org>
    Gerrit-MessageType: newpatchset

    David Chase (Gerrit)

    unread,
    Jan 21, 2022, 11:01:09 PM1/21/22
    to Austin Clements, goph...@pubsubhelper.golang.org, Gopher Robot, Michael Pratt, Rodolfo Carvalho, Dan Kortschak, Josh Bleecher Snyder, Russ Cox, Jeremy Faller, golang-co...@googlegroups.com

    Attention is currently required from: Rodolfo Carvalho, Austin Clements, Russ Cox.

    View Change

    3 comments:

      • // give them different (perhaps shorter) labels than the full file
        // names:
        //
        // $ benchstat A=old.txt B=new.txt

      • I believe you that you found this confusing, but I find your comment confusing, so I'm not sure what […]

        I think this is fine, and I am now also confused by my comment.

      • Patch Set #4, Line 380: 0.95

        In a comment on the benchseries POC,

        https://go-review.googlesource.com/c/perf/+/380234/1..2/cmd/benchseries/main.go#b139

        I think you suggested a default confidence value of 0.05, not 0.95. I'm going to guess that 0.95 is the correct default value, but just in case it is not, I'm commenting here since this is far closer to being submitted.

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 8
    Gerrit-Owner: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: David Chase <drc...@google.com>
    Gerrit-Reviewer: Gopher Robot <go...@golang.org>
    Gerrit-Reviewer: Michael Pratt <mpr...@google.com>
    Gerrit-Reviewer: Russ Cox <r...@golang.org>
    Gerrit-CC: Dan Kortschak <d...@kortschak.io>
    Gerrit-CC: Jeremy Faller <jer...@golang.org>
    Gerrit-CC: Josh Bleecher Snyder <josh...@gmail.com>
    Gerrit-CC: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: Austin Clements <aus...@google.com>
    Gerrit-Attention: Russ Cox <r...@golang.org>
    Gerrit-Comment-Date: Sat, 22 Jan 2022 04:01:03 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Austin Clements <aus...@google.com>

    Austin Clements (Gerrit)

    unread,
    Feb 11, 2022, 4:22:49 PM2/11/22
    to Austin Clements, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com

    Attention is currently required from: Rodolfo Carvalho, Austin Clements, Russ Cox.

    Austin Clements uploaded patch set #9 to this change.

    View Change

    A benchstat/doc.go
    D cmd/benchstat/README.md
    A cmd/benchstat/doc_test.go
    A cmd/benchstat/internal/benchtab/builder.go
    A cmd/benchstat/internal/benchtab/table.go
    A cmd/benchstat/internal/texttab/table.go
    A cmd/benchstat/internal/texttab/table_test.go
    M cmd/benchstat/main.go
    M cmd/benchstat/main_test.go
    A cmd/benchstat/testdata/.gitignore
    D cmd/benchstat/testdata/all.golden
    D cmd/benchstat/testdata/allcsv.golden
    D cmd/benchstat/testdata/allnorangecsv.golden
    D cmd/benchstat/testdata/allnosplit.golden
    D cmd/benchstat/testdata/allnosplitcsv.golden
    A cmd/benchstat/testdata/bench_test.go
    A cmd/benchstat/testdata/crc-new.txt
    A cmd/benchstat/testdata/crc-old.txt
    A cmd/benchstat/testdata/crcIgnore.stdout
    A cmd/benchstat/testdata/crcOldNew.stdout
    A cmd/benchstat/testdata/crcSizeVsPoly.stdout
    A cmd/benchstat/testdata/csvErrors.stderr
    A cmd/benchstat/testdata/csvErrors.stdout
    A cmd/benchstat/testdata/csvOldNew.stdout
    D cmd/benchstat/testdata/deltasort.golden
    D cmd/benchstat/testdata/example.golden
    D cmd/benchstat/testdata/examplehtml.golden
    D cmd/benchstat/testdata/examplenew.txt
    D cmd/benchstat/testdata/exampleold.golden
    D cmd/benchstat/testdata/exampleold.txt
    D cmd/benchstat/testdata/exampleoldhtml.golden
    A cmd/benchstat/testdata/issue19565.stdout
    A cmd/benchstat/testdata/issue19565.txt
    A cmd/benchstat/testdata/issue19634.stdout
    A cmd/benchstat/testdata/issue19634.txt
    D cmd/benchstat/testdata/namesort.golden
    M cmd/benchstat/testdata/new.txt
    D cmd/benchstat/testdata/new4.golden
    M cmd/benchstat/testdata/old.txt
    D cmd/benchstat/testdata/oldcsv.golden
    D cmd/benchstat/testdata/oldnew.golden
    D cmd/benchstat/testdata/oldnew4html.golden
    D cmd/benchstat/testdata/oldnewgeo.golden
    D cmd/benchstat/testdata/oldnewhtml.golden
    D cmd/benchstat/testdata/oldnewttest.golden
    D cmd/benchstat/testdata/packages.golden
    D cmd/benchstat/testdata/packagesnew.txt
    D cmd/benchstat/testdata/packagesold.golden
    D cmd/benchstat/testdata/packagesold.txt
    D cmd/benchstat/testdata/rdeltasort.golden
    D cmd/benchstat/testdata/slashslash4.txt
    A cmd/benchstat/testdata/smallSample.stdout
    A cmd/benchstat/testdata/smallSample.txt
    D cmd/benchstat/testdata/units-new.txt
    D cmd/benchstat/testdata/units-old.txt
    D cmd/benchstat/testdata/units.golden
    A cmd/benchstat/testdata/units.stdout
    A cmd/benchstat/testdata/units.txt
    D cmd/benchstat/testdata/x386.txt
    D cmd/benchstat/testdata/zero-new.txt
    D cmd/benchstat/testdata/zero-old.txt
    D cmd/benchstat/testdata/zero.golden
    A cmd/benchstat/testdata/zero.stdout
    A cmd/benchstat/testdata/zero.txt

    64 files changed, 3,328 insertions(+), 3,160 deletions(-)

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 9
    Gerrit-Owner: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: David Chase <drc...@google.com>
    Gerrit-Reviewer: Gopher Robot <go...@golang.org>
    Gerrit-Reviewer: Michael Pratt <mpr...@google.com>
    Gerrit-Reviewer: Russ Cox <r...@golang.org>
    Gerrit-CC: Dan Kortschak <d...@kortschak.io>
    Gerrit-CC: Jeremy Faller <jer...@golang.org>
    Gerrit-CC: Josh Bleecher Snyder <josh...@gmail.com>
    Gerrit-CC: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: Austin Clements <aus...@google.com>
    Gerrit-Attention: Russ Cox <r...@golang.org>
    Gerrit-MessageType: newpatchset

    Austin Clements (Gerrit)

    unread,
    Feb 11, 2022, 4:25:43 PM2/11/22
    to Austin Clements, goph...@pubsubhelper.golang.org, Gopher Robot, Michael Pratt, Rodolfo Carvalho, Dan Kortschak, Josh Bleecher Snyder, Russ Cox, David Chase, Jeremy Faller, golang-co...@googlegroups.com

    Attention is currently required from: Rodolfo Carvalho, Russ Cox.

    View Change

    1 comment:

    • Patchset:

      • Patch Set #9:

        PS 8 -> 9 renames benchproc.Schema to Projection and Config to Key.

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 9
    Gerrit-Owner: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: David Chase <drc...@google.com>
    Gerrit-Reviewer: Gopher Robot <go...@golang.org>
    Gerrit-Reviewer: Michael Pratt <mpr...@google.com>
    Gerrit-Reviewer: Russ Cox <r...@golang.org>
    Gerrit-CC: Dan Kortschak <d...@kortschak.io>
    Gerrit-CC: Jeremy Faller <jer...@golang.org>
    Gerrit-CC: Josh Bleecher Snyder <josh...@gmail.com>
    Gerrit-CC: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: Russ Cox <r...@golang.org>
    Gerrit-Comment-Date: Fri, 11 Feb 2022 21:25:40 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Gerrit-MessageType: comment

    Austin Clements (Gerrit)

    unread,
    Feb 23, 2022, 1:16:30 PM2/23/22
    to Austin Clements, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com

    Attention is currently required from: Rodolfo Carvalho, Russ Cox.

    Austin Clements uploaded patch set #10 to this change.

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 10
    Gerrit-Owner: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: David Chase <drc...@google.com>
    Gerrit-Reviewer: Gopher Robot <go...@golang.org>
    Gerrit-Reviewer: Michael Pratt <mpr...@google.com>
    Gerrit-Reviewer: Russ Cox <r...@golang.org>
    Gerrit-CC: Dan Kortschak <d...@kortschak.io>
    Gerrit-CC: Jeremy Faller <jer...@golang.org>
    Gerrit-CC: Josh Bleecher Snyder <josh...@gmail.com>
    Gerrit-CC: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: Russ Cox <r...@golang.org>
    Gerrit-MessageType: newpatchset

    Austin Clements (Gerrit)

    unread,
    Mar 9, 2022, 2:15:20 PM3/9/22
    to Austin Clements, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com

    Attention is currently required from: Rodolfo Carvalho, Russ Cox.

    Austin Clements uploaded patch set #11 to this change.

    View Change

    64 files changed, 3,332 insertions(+), 3,161 deletions(-)

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 11

    Austin Clements (Gerrit)

    unread,
    Jan 13, 2023, 4:15:07 PM1/13/23
    to Austin Clements, goph...@pubsubhelper.golang.org, Gopher Robot, Michael Pratt, Rodolfo Carvalho, Dan Kortschak, Josh Bleecher Snyder, Russ Cox, David Chase, golang-co...@googlegroups.com

    Attention is currently required from: Michael Pratt.

    Patch set 11:Run-TryBot +1

    View Change

    3 comments:

    • File cmd/benchstat/internal/benchtab/builder.go:

      • Patch Set #3, Line 306: badRatio = true

        The delta will show up as "?". Do you think this needs additional reporting? […]

        Done

    • File cmd/benchstat/main.go:

      • Patch Set #4, Line 380: 0.95

        In a comment on the benchseries POC, […]

        Yes. I'm not sure if that 0.05 was a typo or if I was getting it mixed up with the alpha threshold, but this should be 0.95 for a 95% confidence interval.

    • File cmd/benchstat/main.go:

      • json/gob encoding should allocate, so perhaps just add b. […]

        I tried ReportAllocs but it's mostly 0s so it's not very interesting?

        I also tried adding a MB/s, but then we still only have two metrics, so filtering down to two metrics remains uninteresting, and I wanted to show the (x OR y) syntax.

        I have a large rewrite of all of this documentation around a more interesting example. Maybe I should just punt to that? Of course, who knows if I'll get around to actually landing that.

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 11
    Gerrit-Owner: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: David Chase <drc...@google.com>
    Gerrit-Reviewer: Gopher Robot <go...@golang.org>
    Gerrit-Reviewer: Michael Knyszek <mkny...@google.com>
    Gerrit-Reviewer: Michael Pratt <mpr...@google.com>
    Gerrit-Reviewer: Russ Cox <r...@golang.org>
    Gerrit-CC: Dan Kortschak <d...@kortschak.io>
    Gerrit-CC: Jeremy Faller <jer...@golang.org>
    Gerrit-CC: Josh Bleecher Snyder <josh...@gmail.com>
    Gerrit-CC: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: Michael Pratt <mpr...@google.com>
    Gerrit-Comment-Date: Fri, 13 Jan 2023 21:15:01 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    Comment-In-Reply-To: Austin Clements <aus...@google.com>
    Comment-In-Reply-To: Michael Pratt <mpr...@google.com>

    Austin Clements (Gerrit)

    unread,
    Jan 13, 2023, 4:20:24 PM1/13/23
    to Austin Clements, goph...@pubsubhelper.golang.org, Gopher Robot, Michael Pratt, Rodolfo Carvalho, Dan Kortschak, Josh Bleecher Snyder, Russ Cox, David Chase, golang-co...@googlegroups.com

    Attention is currently required from: Michael Pratt.

    View Change

    1 comment:

    • File cmd/benchstat/main.go:

      • I tried ReportAllocs but it's mostly 0s so it's not very interesting? […]

        I guess I could just add a third, perhaps silly metric, like "bytes"

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 12
    Gerrit-Owner: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: David Chase <drc...@google.com>
    Gerrit-Reviewer: Gopher Robot <go...@golang.org>
    Gerrit-Reviewer: Michael Knyszek <mkny...@google.com>
    Gerrit-Reviewer: Michael Pratt <mpr...@google.com>
    Gerrit-Reviewer: Russ Cox <r...@golang.org>
    Gerrit-CC: Dan Kortschak <d...@kortschak.io>
    Gerrit-CC: Jeremy Faller <jer...@golang.org>
    Gerrit-CC: Josh Bleecher Snyder <josh...@gmail.com>
    Gerrit-CC: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: Michael Pratt <mpr...@google.com>
    Gerrit-Comment-Date: Fri, 13 Jan 2023 21:20:19 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Austin Clements <aus...@google.com>
    Comment-In-Reply-To: Michael Pratt <mpr...@google.com>
    Gerrit-MessageType: comment

    Michael Pratt (Gerrit)

    unread,
    Jan 13, 2023, 4:22:20 PM1/13/23
    to Austin Clements, goph...@pubsubhelper.golang.org, Gopher Robot, Michael Pratt, Rodolfo Carvalho, Dan Kortschak, Josh Bleecher Snyder, Russ Cox, David Chase, golang-co...@googlegroups.com

    Attention is currently required from: Austin Clements.

    Patch set 12:Code-Review +2

    View Change

    2 comments:

    • File cmd/benchstat/main.go:

      • Punt.

    • File cmd/benchstat/main.go:

      • Patch Set #12, Line 146: // key:value - Match if key equals value.

        Is this from go fmt? Why does this have two tabs but everything below has one?

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 12
    Gerrit-Owner: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: David Chase <drc...@google.com>
    Gerrit-Reviewer: Gopher Robot <go...@golang.org>
    Gerrit-Reviewer: Michael Knyszek <mkny...@google.com>
    Gerrit-Reviewer: Michael Pratt <mpr...@google.com>
    Gerrit-Reviewer: Russ Cox <r...@golang.org>
    Gerrit-CC: Dan Kortschak <d...@kortschak.io>
    Gerrit-CC: Jeremy Faller <jer...@golang.org>
    Gerrit-CC: Josh Bleecher Snyder <josh...@gmail.com>
    Gerrit-CC: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: Austin Clements <aus...@google.com>
    Gerrit-Comment-Date: Fri, 13 Jan 2023 21:22:15 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes

    Austin Clements (Gerrit)

    unread,
    Jan 13, 2023, 4:26:16 PM1/13/23
    to Austin Clements, goph...@pubsubhelper.golang.org, Gopher Robot, Michael Pratt, Rodolfo Carvalho, Dan Kortschak, Josh Bleecher Snyder, Russ Cox, David Chase, golang-co...@googlegroups.com

    View Change

    1 comment:

    • File cmd/benchstat/main.go:

      • Patch Set #12, Line 146: // key:value - Match if key equals value.

        Is this from go fmt? Why does this have two tabs but everything below has one?

      • It must be, but I have no idea why. Fixed.

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 12
    Gerrit-Owner: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: David Chase <drc...@google.com>
    Gerrit-Reviewer: Gopher Robot <go...@golang.org>
    Gerrit-Reviewer: Michael Knyszek <mkny...@google.com>
    Gerrit-Reviewer: Michael Pratt <mpr...@google.com>
    Gerrit-Reviewer: Russ Cox <r...@golang.org>
    Gerrit-CC: Dan Kortschak <d...@kortschak.io>
    Gerrit-CC: Jeremy Faller <jer...@golang.org>
    Gerrit-CC: Josh Bleecher Snyder <josh...@gmail.com>
    Gerrit-CC: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Comment-Date: Fri, 13 Jan 2023 21:26:12 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No

    Austin Clements (Gerrit)

    unread,
    Jan 13, 2023, 4:26:20 PM1/13/23
    to Austin Clements, goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com

    Attention is currently required from: Austin Clements.

    Austin Clements uploaded patch set #13 to this change.

    View Change

    The following approvals got outdated and were removed: Run-TryBot+1 by Austin Clements, TryBot-Result+1 by Gopher Robot

    The change is no longer submittable: TryBots-Pass is unsatisfied now.

    64 files changed, 3,328 insertions(+), 3,170 deletions(-)

    To view, visit change 309969. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: perf
    Gerrit-Branch: master
    Gerrit-Change-Id: Ie2c5a12024e84b4918e483df2223eb1f10413a4f
    Gerrit-Change-Number: 309969
    Gerrit-PatchSet: 13
    Gerrit-Owner: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: Austin Clements <aus...@google.com>
    Gerrit-Reviewer: David Chase <drc...@google.com>
    Gerrit-Reviewer: Gopher Robot <go...@golang.org>
    Gerrit-Reviewer: Michael Knyszek <mkny...@google.com>
    Gerrit-Reviewer: Michael Pratt <mpr...@google.com>
    Gerrit-Reviewer: Russ Cox <r...@golang.org>
    Gerrit-CC: Dan Kortschak <d...@kortschak.io>
    Gerrit-CC: Jeremy Faller <jer...@golang.org>
    Gerrit-CC: Josh Bleecher Snyder <josh...@gmail.com>
    Gerrit-CC: Rodolfo Carvalho <rhcar...@gmail.com>
    Gerrit-Attention: Austin Clements <aus...@google.com>
    Gerrit-MessageType: newpatchset
    Reply all
    Reply to author
    Forward
    0 new messages