func benchmarkStats(b *testing.B, r render.Renderer) { report, err := loadReport() if err != nil { b.Fatal(err) } b.ReportAllocs() b.ResetTimer() for i := 0; i < b.N; i++ { // No way to tell if this was successful :( b.StopTimer() render.ResetCache() b.StartTimer() benchmarkStatsResult = r.Stats(report, render.FilterNoop) } }
func decorateWithStats(rpt report.Report, renderer render.Renderer, decorator render.Decorator) topologyStats { var ( nodes int realNodes int edges int ) for _, n := range renderer.Render(rpt, decorator) { nodes++ if n.Topology != render.Pseudo { realNodes++ } edges += len(n.Adjacency) } renderStats := renderer.Stats(rpt, decorator) return topologyStats{ NodeCount: nodes, NonpseudoNodeCount: realNodes, EdgeCount: edges, FilteredNodes: renderStats.FilteredNodes, } }