Advertisement
Guest User

Untitled

a guest
Sep 16th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 0.72 KB | None | 0 0
  1.  
  2. type BufCloser struct {
  3.     *bytes.Buffer
  4. }
  5.  
  6. func (bc BufCloser) Close() error {
  7.     bc.Truncate(0)
  8.     return nil
  9. }
  10.  
  11. func BenchmarkGetBlockBodies(t *testing.B) {
  12.     ctx := context.Background()
  13.     var bts []byte
  14.     r := BufCloser{
  15.         Buffer: bytes.NewBuffer(bts),
  16.     }
  17.     byteString := []byte(strings.Repeat("A", 32))
  18.  
  19.     t.ResetTimer()
  20.     for j := 0; j < t.N; j++ {
  21.         t.StopTimer()
  22.         for i := 0; i < 5; i++ {
  23.             resp := network.GetBodyResponse{
  24.                 Data: byteString,
  25.             }
  26.  
  27.             resp.Write(r)
  28.         }
  29.  
  30.         t.StartTimer()
  31.         blocksC, errC := GetBlockBodiesChan(ctx, r, 5)
  32.  
  33.         go func() {
  34.             err := <-errC
  35.             if err != nil {
  36.                 fmt.Println(err)
  37.             }
  38.         }()
  39.  
  40.         for item := range blocksC {
  41.             fmt.Println(len(item))
  42.         }
  43.     }
  44.  
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement