Flush cache between runs of the benchmark.

This commit is contained in:
Tom Wilkie
2016-01-25 13:53:38 -08:00
parent 41d48224aa
commit f8cbaf0794
2 changed files with 6 additions and 0 deletions

View File

@@ -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)
}
}

View File

@@ -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