github.com/junjiefly/fastBuffer@v0.0.0-20230116131544-7c459fb87ad3/mem_test.go (about)

     1  package fastBuffer
     2  
     3  import (
     4  	"bytes"
     5  	"fmt"
     6  	"testing"
     7  )
     8  
     9  var KBBuf []byte
    10  var KB4Buf []byte
    11  var KB16Buf []byte
    12  var KB128Buf []byte
    13  var KB512Buf []byte
    14  var MBBuf []byte
    15  var MB4Buf []byte
    16  
    17  func TestMain(m *testing.M) {
    18  	fmt.Println("main")
    19  	KBBuf = make([]byte, KBSize)
    20  	KB4Buf = make([]byte, 4*KBSize)
    21  	KB16Buf = make([]byte, 16*KBSize)
    22  	KB128Buf = make([]byte, 128*KBSize)
    23  	KB512Buf = make([]byte, 512*KBSize)
    24  	MB4Buf = make([]byte, 4*MBSize)
    25  	MBBuf = make([]byte, MBSize)
    26  
    27  	var myPrintln = func(args ...interface{}) {
    28  		fmt.Println(args...)
    29  	}
    30  	var myPrintf = func(format string, args ...interface{}) {
    31  		fmt.Printf(format, args...)
    32  	}
    33  	InitLogger(myPrintln, myPrintf)
    34  	m.Run()
    35  }
    36  
    37  func TestAllocate1KB(t *testing.T) {
    38  	fb := NewFB(KBSize)
    39  	FreeFB(fb)
    40  }
    41  
    42  func BenchmarkRead1KB(b *testing.B) {
    43  	buffer := bytes.NewBuffer(KBBuf)
    44  	fb := NewFB(KBSize)
    45  	_, _ = fb.ReadFrom(buffer)
    46  	FreeFB(fb)
    47  }
    48  
    49  func BenchmarkRead4KB(b *testing.B) {
    50  	buffer := bytes.NewBuffer(KB4Buf)
    51  	fb := NewFB(KBSize * 4)
    52  	_, _ = fb.ReadFrom(buffer)
    53  	FreeFB(fb)
    54  }
    55  
    56  func BenchmarkRead16KB(b *testing.B) {
    57  	buffer := bytes.NewBuffer(KB16Buf)
    58  	fb := NewFB(KBSize * 16)
    59  	_, _ = fb.ReadFrom(buffer)
    60  	FreeFB(fb)
    61  }
    62  
    63  func BenchmarkRead128KB(b *testing.B) {
    64  	buffer := bytes.NewBuffer(KB128Buf)
    65  	fb := NewFB(KBSize * 128)
    66  	_, _ = fb.ReadFrom(buffer)
    67  	FreeFB(fb)
    68  }
    69  
    70  func BenchmarkRead512KB(b *testing.B) {
    71  	buffer := bytes.NewBuffer(KB512Buf)
    72  	fb := NewFB(KBSize * 512)
    73  	_, _ = fb.ReadFrom(buffer)
    74  	FreeFB(fb)
    75  }
    76  
    77  func BenchmarkRead1MB(b *testing.B) {
    78  	buffer := bytes.NewBuffer(MBBuf)
    79  	fb := NewFB(MBSize)
    80  	_, _ = fb.ReadFrom(buffer)
    81  	FreeFB(fb)
    82  }
    83  
    84  func BenchmarkRead4MB(b *testing.B) {
    85  	buffer := bytes.NewBuffer(MB4Buf)
    86  	fb := NewFB(MBSize * 4)
    87  	_, _ = fb.ReadFrom(buffer)
    88  	FreeFB(fb)
    89  }