Documentation

Overview

    The benchcmp command displays performance changes between benchmarks.

    Benchcmp parses the output of two 'go test' benchmark runs, correlates the results per benchmark, and displays the deltas.

    To measure the performance impact of a change, use 'go test' to run benchmarks before and after the change:

    go test -run=NONE -bench=. ./... > old.txt
    # make changes
    go test -run=NONE -bench=. ./... > new.txt
    

    Then feed the benchmark results to benchcmp:

    benchcmp old.txt new.txt
    

    Benchcmp will summarize and display the performance changes, in a format like this:

    $ benchcmp old.txt new.txt
    benchmark           old ns/op     new ns/op     delta
    BenchmarkConcat     523           68.6          -86.88%
    
    benchmark           old allocs     new allocs     delta
    BenchmarkConcat     3              1              -66.67%
    
    benchmark           old bytes     new bytes     delta
    BenchmarkConcat     80            48            -40.00%