some deletions
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / golang.org / x / sync@v0.0.0-20200625203802-6e8e738ad208 / semaphore / semaphore_bench_test.go
diff --git a/.config/coc/extensions/coc-go-data/tools/pkg/mod/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208/semaphore/semaphore_bench_test.go b/.config/coc/extensions/coc-go-data/tools/pkg/mod/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208/semaphore/semaphore_bench_test.go
deleted file mode 100644 (file)
index f96d349..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-// Copyright 2017 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build go1.7
-
-package semaphore_test
-
-import (
-       "context"
-       "fmt"
-       "testing"
-
-       "golang.org/x/sync/semaphore"
-)
-
-// weighted is an interface matching a subset of *Weighted.  It allows
-// alternate implementations for testing and benchmarking.
-type weighted interface {
-       Acquire(context.Context, int64) error
-       TryAcquire(int64) bool
-       Release(int64)
-}
-
-// semChan implements Weighted using a channel for
-// comparing against the condition variable-based implementation.
-type semChan chan struct{}
-
-func newSemChan(n int64) semChan {
-       return semChan(make(chan struct{}, n))
-}
-
-func (s semChan) Acquire(_ context.Context, n int64) error {
-       for i := int64(0); i < n; i++ {
-               s <- struct{}{}
-       }
-       return nil
-}
-
-func (s semChan) TryAcquire(n int64) bool {
-       if int64(len(s))+n > int64(cap(s)) {
-               return false
-       }
-
-       for i := int64(0); i < n; i++ {
-               s <- struct{}{}
-       }
-       return true
-}
-
-func (s semChan) Release(n int64) {
-       for i := int64(0); i < n; i++ {
-               <-s
-       }
-}
-
-// acquireN calls Acquire(size) on sem N times and then calls Release(size) N times.
-func acquireN(b *testing.B, sem weighted, size int64, N int) {
-       b.ResetTimer()
-       for i := 0; i < b.N; i++ {
-               for j := 0; j < N; j++ {
-                       sem.Acquire(context.Background(), size)
-               }
-               for j := 0; j < N; j++ {
-                       sem.Release(size)
-               }
-       }
-}
-
-// tryAcquireN calls TryAcquire(size) on sem N times and then calls Release(size) N times.
-func tryAcquireN(b *testing.B, sem weighted, size int64, N int) {
-       b.ResetTimer()
-       for i := 0; i < b.N; i++ {
-               for j := 0; j < N; j++ {
-                       if !sem.TryAcquire(size) {
-                               b.Fatalf("TryAcquire(%v) = false, want true", size)
-                       }
-               }
-               for j := 0; j < N; j++ {
-                       sem.Release(size)
-               }
-       }
-}
-
-func BenchmarkNewSeq(b *testing.B) {
-       for _, cap := range []int64{1, 128} {
-               b.Run(fmt.Sprintf("Weighted-%d", cap), func(b *testing.B) {
-                       for i := 0; i < b.N; i++ {
-                               _ = semaphore.NewWeighted(cap)
-                       }
-               })
-               b.Run(fmt.Sprintf("semChan-%d", cap), func(b *testing.B) {
-                       for i := 0; i < b.N; i++ {
-                               _ = newSemChan(cap)
-                       }
-               })
-       }
-}
-
-func BenchmarkAcquireSeq(b *testing.B) {
-       for _, c := range []struct {
-               cap, size int64
-               N         int
-       }{
-               {1, 1, 1},
-               {2, 1, 1},
-               {16, 1, 1},
-               {128, 1, 1},
-               {2, 2, 1},
-               {16, 2, 8},
-               {128, 2, 64},
-               {2, 1, 2},
-               {16, 8, 2},
-               {128, 64, 2},
-       } {
-               for _, w := range []struct {
-                       name string
-                       w    weighted
-               }{
-                       {"Weighted", semaphore.NewWeighted(c.cap)},
-                       {"semChan", newSemChan(c.cap)},
-               } {
-                       b.Run(fmt.Sprintf("%s-acquire-%d-%d-%d", w.name, c.cap, c.size, c.N), func(b *testing.B) {
-                               acquireN(b, w.w, c.size, c.N)
-                       })
-                       b.Run(fmt.Sprintf("%s-tryAcquire-%d-%d-%d", w.name, c.cap, c.size, c.N), func(b *testing.B) {
-                               tryAcquireN(b, w.w, c.size, c.N)
-                       })
-               }
-       }
-}