diff --git a/render/benchmark_test.go b/render/benchmark_test.go index eb3516e44..3c53148d5 100644 --- a/render/benchmark_test.go +++ b/render/benchmark_test.go @@ -61,6 +61,7 @@ func benchmarkRender(b *testing.B, r render.Renderer) { b.ResetTimer() for i := 0; i < b.N; i++ { + render.ResetCache() benchmarkRenderResult = r.Render(report) if len(benchmarkRenderResult) == 0 { b.Errorf("Rendered topology contained no nodes") @@ -78,6 +79,7 @@ func benchmarkStats(b *testing.B, r render.Renderer) { for i := 0; i < b.N; i++ { // No way to tell if this was successful :( + render.ResetCache() benchmarkStatsResult = r.Stats(report) } } diff --git a/render/render.go b/render/render.go index a8d9a6f6e..6e6ad4731 100644 --- a/render/render.go +++ b/render/render.go @@ -30,6 +30,10 @@ func memoisedRender(r Renderer, rpt report.Report) RenderableNodes { return output } +func ResetCache() { + renderCache.Purge() +} + // Renderer is something that can render a report to a set of RenderableNodes. type Renderer interface { Render(report.Report) RenderableNodes