Make BenchmarkBashCompletion more honest

name              old time/op    new time/op    delta
BashCompletion-4    67.4µs ± 1%    50.8µs ± 3%  -24.63%  (p=0.000 n=17+19)

name              old alloc/op   new alloc/op   delta
BashCompletion-4    29.5kB ± 0%    29.5kB ± 0%   +0.00%  (p=0.020 n=20+20)

name              old allocs/op  new allocs/op  delta
BashCompletion-4       253 ± 0%       253 ± 0%     ~     (all equal)
This commit is contained in:
Albert Nigmatzianov 2017-06-05 19:32:33 +02:00
parent 66da711334
commit 84f471618b

View File

@ -2,7 +2,6 @@ package cobra
import (
"bytes"
"io/ioutil"
"os"
"os/exec"
"strings"
@ -181,15 +180,12 @@ func BenchmarkBashCompletion(b *testing.B) {
cmdEcho.AddCommand(cmdTimes)
c.AddCommand(cmdEcho, cmdPrint, cmdDeprecated, cmdColon)
file, err := ioutil.TempFile("", "")
if err != nil {
b.Fatal(err)
}
defer os.Remove(file.Name())
buf := new(bytes.Buffer)
b.ResetTimer()
for i := 0; i < b.N; i++ {
if err := c.GenBashCompletion(file); err != nil {
buf.Reset()
if err := c.GenBashCompletion(buf); err != nil {
b.Fatal(err)
}
}