package sarama import ( "runtime" "testing" ) func BenchmarkZstdMemoryConsumption(b *testing.B) { params := ZstdEncoderParams{Level: 9} buf := make([]byte, 1024*1024) for i := 0; i < len(buf); i++ { buf[i] = byte((i / 256) + (i * 257)) } cpus := 96 gomaxprocsBackup := runtime.GOMAXPROCS(cpus) b.ReportAllocs() for i := 0; i < b.N; i++ { for j := 0; j < 2*cpus; j++ { _, _ = zstdCompress(params, nil, buf) } // drain the buffered encoder getZstdEncoder(params) // previously this would be achieved with // zstdEncMap.Delete(params) } runtime.GOMAXPROCS(gomaxprocsBackup) }