func addTableBody(t *termtables.Table) { floatFmt := fmtFloat if bench.info.suggestedTiming == "ns" { floatFmt = fmtFloatNS } i := len(*bench.results) sorted := make([]string, 0, i) for name := range *bench.results { sorted = append(sorted, name) } sort.Sort(sort.StringSlice(sorted)) for _, benchName := range sorted { results := (*bench.results)[benchName] for j, b := range results { var name string if j == 0 { name = bold(b.Name) } if bench.info.benchmemUsed { if bench.info.hasFnIterations { fnIterations := strconv.Itoa(b.FnIterations) if fnIterations == "-1" { fnIterations = "" } else { i, err := strconv.Atoi(fnIterations) if err != nil { fnIterations = "" } else { fnIterations = RenderInteger(fmtInt, i) } } t.AddRow(name, fnIterations, RenderInteger(fmtInt, b.Runs), RenderFloat(floatFmt, b.Speed), RenderInteger(fmtInt, b.Bps), RenderInteger(fmtInt, b.Aps)) } else { t.AddRow(name, RenderInteger(fmtInt, b.Runs), RenderFloat(floatFmt, b.Speed), RenderInteger(fmtInt, b.Bps), RenderInteger(fmtInt, b.Aps)) } } else { if bench.info.hasFnIterations { fnIterations := strconv.Itoa(b.FnIterations) if fnIterations == "-1" { fnIterations = "" } else { i, err := strconv.Atoi(fnIterations) if err != nil { fnIterations = "" } else { fnIterations = RenderInteger(fmtInt, i) } } t.AddRow(name, fnIterations, RenderInteger(fmtInt, b.Runs), RenderFloat(floatFmt, b.Speed)) } else { t.AddRow(name, RenderInteger(fmtInt, b.Runs), RenderFloat(floatFmt, b.Speed)) } } } i-- if i > 0 { t.AddSeparator() } } t.SetAlign(termtables.AlignLeft, 1) }