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 }