in cmd/benchstat/main.go [144:198]
func main() {
log.SetPrefix("benchstat: ")
log.SetFlags(0)
flag.Usage = usage
flag.Parse()
deltaTest := deltaTestNames[strings.ToLower(*flagDeltaTest)]
sortName := *flagSort
reverse := false
if strings.HasPrefix(sortName, "-") {
reverse = true
sortName = sortName[1:]
}
order, ok := sortNames[sortName]
if flag.NArg() < 1 || deltaTest == nil || !ok {
flag.Usage()
}
c := &benchstat.Collection{
Alpha: *flagAlpha,
AddGeoMean: *flagGeomean,
DeltaTest: deltaTest,
}
if *flagSplit != "" {
c.SplitBy = strings.Split(*flagSplit, ",")
}
if order != nil {
if reverse {
order = benchstat.Reverse(order)
}
c.Order = order
}
for _, file := range flag.Args() {
f, err := os.Open(file)
if err != nil {
log.Fatal(err)
}
if err := c.AddFile(file, f); err != nil {
log.Fatal(err)
}
f.Close()
}
tables := c.Tables()
var buf bytes.Buffer
if *flagHTML {
buf.WriteString(htmlHeader)
benchstat.FormatHTML(&buf, tables)
buf.WriteString(htmlFooter)
} else if *flagCSV {
benchstat.FormatCSV(&buf, tables, *flagNoRange)
} else {
benchstat.FormatText(&buf, tables)
}
os.Stdout.Write(buf.Bytes())
}