Codebase list golang-github-vbauerster-mpb / aeed4b3
WithAutoRefresh bench cases Vladimir Bauer 3 years ago
1 changed file(s) with 47 addition(s) and 19 deletion(s). Raw diff Collapse all Expand all
0 package mpb
0 package mpb_test
11
22 import (
3 "io"
34 "sync"
45 "testing"
6
7 "github.com/vbauerster/mpb/v8"
58 )
69
710 const total = 1000
811
9 func BenchmarkNopStyleOneBar(b *testing.B) {
10 bench(b, NopStyle(), 1)
12 func BenchmarkNopStyle1Bar(b *testing.B) {
13 bench(b, mpb.NopStyle(), false, 1)
1114 }
1215
13 func BenchmarkNopStyleTwoBars(b *testing.B) {
14 bench(b, NopStyle(), 2)
16 func BenchmarkNopStyle1BarWithAutoRefresh(b *testing.B) {
17 bench(b, mpb.NopStyle(), true, 1)
1518 }
1619
17 func BenchmarkNopStyleThreeBars(b *testing.B) {
18 bench(b, NopStyle(), 3)
20 func BenchmarkNopStyle2Bars(b *testing.B) {
21 bench(b, mpb.NopStyle(), false, 2)
1922 }
2023
21 func BenchmarkBarStyleOneBar(b *testing.B) {
22 bench(b, BarStyle(), 1)
24 func BenchmarkNopStyle2BarsWithAutoRefresh(b *testing.B) {
25 bench(b, mpb.NopStyle(), true, 2)
2326 }
2427
25 func BenchmarkBarStyleTwoBars(b *testing.B) {
26 bench(b, BarStyle(), 2)
28 func BenchmarkNopStyle3Bars(b *testing.B) {
29 bench(b, mpb.NopStyle(), false, 3)
2730 }
2831
29 func BenchmarkBarStyleThreeBars(b *testing.B) {
30 bench(b, BarStyle(), 3)
32 func BenchmarkNopStyle3BarsWithAutoRefresh(b *testing.B) {
33 bench(b, mpb.NopStyle(), true, 3)
3134 }
3235
33 func bench(b *testing.B, builder BarFillerBuilder, n int) {
36 func BenchmarkBarStyle1Bar(b *testing.B) {
37 bench(b, mpb.BarStyle(), false, 1)
38 }
39
40 func BenchmarkBarStyle1BarWithAutoRefresh(b *testing.B) {
41 bench(b, mpb.BarStyle(), true, 1)
42 }
43
44 func BenchmarkBarStyle2Bars(b *testing.B) {
45 bench(b, mpb.BarStyle(), false, 2)
46 }
47
48 func BenchmarkBarStyle2BarsWithAutoRefresh(b *testing.B) {
49 bench(b, mpb.BarStyle(), true, 2)
50 }
51
52 func BenchmarkBarStyle3Bars(b *testing.B) {
53 bench(b, mpb.BarStyle(), false, 3)
54 }
55
56 func BenchmarkBarStyle3BarsWithAutoRefresh(b *testing.B) {
57 bench(b, mpb.BarStyle(), true, 3)
58 }
59
60 func bench(b *testing.B, builder mpb.BarFillerBuilder, autoRefresh bool, n int) {
3461 var wg sync.WaitGroup
35 p := New(WithOutput(nil), WithWidth(80))
62 p := mpb.New(
63 mpb.WithWidth(100),
64 mpb.WithOutput(io.Discard),
65 mpb.ContainerOptional(mpb.WithAutoRefresh(), autoRefresh),
66 )
3667 b.ResetTimer()
3768 for i := 0; i < b.N; i++ {
3869 for j := 0; j < n; j++ {
5384 p.Wait()
5485 }
5586
56 func complete(b *testing.B, bar *Bar) {
87 func complete(b *testing.B, bar *mpb.Bar) {
5788 for i := 0; i < total; i++ {
5889 bar.Increment()
5990 }
60 if !bar.Completed() {
61 b.Fail()
62 }
6391 bar.Wait()
6492 }