From e94c4bc064dd27f3aee30aad52834b3264f2f530 Mon Sep 17 00:00:00 2001 From: Vladimir Bauer Date: Tue, 26 Mar 2024 21:26:32 +0500 Subject: [PATCH] refactoring: barbench_test --- barbench_test.go | 46 +++++++++++++++++++++------------------------- 1 file changed, 21 insertions(+), 25 deletions(-) diff --git a/barbench_test.go b/barbench_test.go index 47b633f1..77e08689 100644 --- a/barbench_test.go +++ b/barbench_test.go @@ -2,7 +2,6 @@ package mpb_test import ( "io" - "sync" "testing" "github.com/vbauerster/mpb/v8" @@ -10,84 +9,81 @@ import ( const total = 1000 -func BenchmarkNopStyle1Bar(b *testing.B) { +func BenchmarkNopStyleB1(b *testing.B) { bench(b, mpb.NopStyle(), false, 1) } -func BenchmarkNopStyle1BarWithAutoRefresh(b *testing.B) { +func BenchmarkNopStyleWithAutoRefreshB1(b *testing.B) { bench(b, mpb.NopStyle(), true, 1) } -func BenchmarkNopStyle2Bars(b *testing.B) { +func BenchmarkNopStylesB2(b *testing.B) { bench(b, mpb.NopStyle(), false, 2) } -func BenchmarkNopStyle2BarsWithAutoRefresh(b *testing.B) { +func BenchmarkNopStylesWithAutoRefreshB2(b *testing.B) { bench(b, mpb.NopStyle(), true, 2) } -func BenchmarkNopStyle3Bars(b *testing.B) { +func BenchmarkNopStylesB3(b *testing.B) { bench(b, mpb.NopStyle(), false, 3) } -func BenchmarkNopStyle3BarsWithAutoRefresh(b *testing.B) { +func BenchmarkNopStylesWithAutoRefreshB3(b *testing.B) { bench(b, mpb.NopStyle(), true, 3) } -func BenchmarkBarStyle1Bar(b *testing.B) { +func BenchmarkBarStyleB1(b *testing.B) { bench(b, mpb.BarStyle(), false, 1) } -func BenchmarkBarStyle1BarWithAutoRefresh(b *testing.B) { +func BenchmarkBarStyleWithAutoRefreshB1(b *testing.B) { bench(b, mpb.BarStyle(), true, 1) } -func BenchmarkBarStyle2Bars(b *testing.B) { +func BenchmarkBarStylesB2(b *testing.B) { bench(b, mpb.BarStyle(), false, 2) } -func BenchmarkBarStyle2BarsWithAutoRefresh(b *testing.B) { +func BenchmarkBarStylesWithAutoRefreshB2(b *testing.B) { bench(b, mpb.BarStyle(), true, 2) } -func BenchmarkBarStyle3Bars(b *testing.B) { +func BenchmarkBarStylesB3(b *testing.B) { bench(b, mpb.BarStyle(), false, 3) } -func BenchmarkBarStyle3BarsWithAutoRefresh(b *testing.B) { +func BenchmarkBarStylesWithAutoRefreshB3(b *testing.B) { bench(b, mpb.BarStyle(), true, 3) } func bench(b *testing.B, builder mpb.BarFillerBuilder, autoRefresh bool, n int) { - var wg sync.WaitGroup p := mpb.New( mpb.WithWidth(100), mpb.WithOutput(io.Discard), mpb.ContainerOptional(mpb.WithAutoRefresh(), autoRefresh), ) + defer p.Wait() b.ResetTimer() for i := 0; i < b.N; i++ { + var bars []*mpb.Bar for j := 0; j < n; j++ { - bar := p.New(total, builder) + bars = append(bars, p.New(total, builder)) switch j { case n - 1: - complete(b, bar) + complete(bars[j]) default: - wg.Add(1) - go func() { - complete(b, bar) - wg.Done() - }() + go complete(bars[j]) } } - wg.Wait() + for _, bar := range bars { + bar.Wait() + } } - p.Wait() } -func complete(b *testing.B, bar *mpb.Bar) { +func complete(bar *mpb.Bar) { for i := 0; i < total; i++ { bar.Increment() } - bar.Wait() }