dicts: Add option to use the *_byReference variants at creation time
Summary
Related issue: #59
This adds two additional functions to create a CDict or DDict:
NewCDictByRef(dict []byte) (*CDict, error)- (OK, technically three with the corresponding
NewCDictLevelByRef)
- (OK, technically three with the corresponding
NewDDictByRef(dict []byte) (*DDict, error)
My particular use-case is having hundreds (~500-2000) of dictionaries cached locally in-memory, and not wanting to potentially have three copies of each.
- The raw bytes
- The bytes copied and used by the
CDict - The bytes copied and used by the
DDict
To mitigate the risk of the input bytes being garbage collected or moved, they get pinned and unpinned oncegozstd.CDict and gozstd.DDict are released. There's still risk of users mutating the input, but this is advised against in the documentation. Users of this feature implicitly accept the risks of optimization.
Test Plan
I've added two types of tests:
- The
gozstd_timing_testbenchmarks - The concurrent compressor / decompressor tests
TestCompressDecompressDistinctConcurrentDictsByRef
I'm happy to add more if you think it reasonable, but I think this stresses the right things: making sure that the same underlying bytes can be used concurrently with CDict and DDict.
Command Output
> make test
CGO_ENABLED=1 GOEXPERIMENT=cgocheck2 go test -v
=== RUN TestCDictEmpty
--- PASS: TestCDictEmpty (0.00s)
=== RUN TestDDictEmpty
--- PASS: TestDDictEmpty (0.00s)
=== RUN TestCDictCreateRelease
--- PASS: TestCDictCreateRelease (0.01s)
=== RUN TestCDictByRefCreateRelease
--- PASS: TestCDictByRefCreateRelease (0.01s)
=== RUN TestDDictCreateRelease
--- PASS: TestDDictCreateRelease (0.01s)
=== RUN TestDDictByRefCreateRelease
--- PASS: TestDDictByRefCreateRelease (0.01s)
=== RUN TestBuildDict
=== RUN TestBuildDict/samples_0
=== RUN TestBuildDict/samples_0/desiredDictLen_20
=== RUN TestBuildDict/samples_0/desiredDictLen_256
=== RUN TestBuildDict/samples_0/desiredDictLen_1000
=== RUN TestBuildDict/samples_0/desiredDictLen_10000
=== RUN TestBuildDict/samples_1
=== RUN TestBuildDict/samples_1/desiredDictLen_20
=== RUN TestBuildDict/samples_1/desiredDictLen_256
=== RUN TestBuildDict/samples_1/desiredDictLen_1000
=== RUN TestBuildDict/samples_1/desiredDictLen_10000
=== RUN TestBuildDict/samples_10
=== RUN TestBuildDict/samples_10/desiredDictLen_20
=== RUN TestBuildDict/samples_10/desiredDictLen_256
=== RUN TestBuildDict/samples_10/desiredDictLen_1000
=== RUN TestBuildDict/samples_10/desiredDictLen_10000
=== RUN TestBuildDict/samples_100
=== RUN TestBuildDict/samples_100/desiredDictLen_20
=== RUN TestBuildDict/samples_100/desiredDictLen_256
=== RUN TestBuildDict/samples_100/desiredDictLen_1000
=== RUN TestBuildDict/samples_100/desiredDictLen_10000
=== RUN TestBuildDict/samples_1000
=== RUN TestBuildDict/samples_1000/desiredDictLen_20
=== RUN TestBuildDict/samples_1000/desiredDictLen_256
=== RUN TestBuildDict/samples_1000/desiredDictLen_1000
=== RUN TestBuildDict/samples_1000/desiredDictLen_10000
--- PASS: TestBuildDict (0.16s)
--- PASS: TestBuildDict/samples_0 (0.02s)
--- PASS: TestBuildDict/samples_0/desiredDictLen_20 (0.00s)
--- PASS: TestBuildDict/samples_0/desiredDictLen_256 (0.00s)
--- PASS: TestBuildDict/samples_0/desiredDictLen_1000 (0.01s)
--- PASS: TestBuildDict/samples_0/desiredDictLen_10000 (0.01s)
--- PASS: TestBuildDict/samples_1 (0.02s)
--- PASS: TestBuildDict/samples_1/desiredDictLen_20 (0.00s)
--- PASS: TestBuildDict/samples_1/desiredDictLen_256 (0.00s)
--- PASS: TestBuildDict/samples_1/desiredDictLen_1000 (0.01s)
--- PASS: TestBuildDict/samples_1/desiredDictLen_10000 (0.01s)
--- PASS: TestBuildDict/samples_10 (0.02s)
--- PASS: TestBuildDict/samples_10/desiredDictLen_20 (0.00s)
--- PASS: TestBuildDict/samples_10/desiredDictLen_256 (0.00s)
--- PASS: TestBuildDict/samples_10/desiredDictLen_1000 (0.01s)
--- PASS: TestBuildDict/samples_10/desiredDictLen_10000 (0.01s)
--- PASS: TestBuildDict/samples_100 (0.03s)
--- PASS: TestBuildDict/samples_100/desiredDictLen_20 (0.00s)
--- PASS: TestBuildDict/samples_100/desiredDictLen_256 (0.00s)
--- PASS: TestBuildDict/samples_100/desiredDictLen_1000 (0.01s)
--- PASS: TestBuildDict/samples_100/desiredDictLen_10000 (0.01s)
--- PASS: TestBuildDict/samples_1000 (0.06s)
--- PASS: TestBuildDict/samples_1000/desiredDictLen_20 (0.01s)
--- PASS: TestBuildDict/samples_1000/desiredDictLen_256 (0.01s)
--- PASS: TestBuildDict/samples_1000/desiredDictLen_1000 (0.01s)
--- PASS: TestBuildDict/samples_1000/desiredDictLen_10000 (0.03s)
=== RUN TestDecompressSmallBlockWithoutSingleSegmentFlag
=== RUN TestDecompressSmallBlockWithoutSingleSegmentFlag/empty-dst-buf
=== RUN TestDecompressSmallBlockWithoutSingleSegmentFlag/small-dst-buf
=== RUN TestDecompressSmallBlockWithoutSingleSegmentFlag/enough-dst-buf
--- PASS: TestDecompressSmallBlockWithoutSingleSegmentFlag (0.00s)
--- PASS: TestDecompressSmallBlockWithoutSingleSegmentFlag/empty-dst-buf (0.00s)
--- PASS: TestDecompressSmallBlockWithoutSingleSegmentFlag/small-dst-buf (0.00s)
--- PASS: TestDecompressSmallBlockWithoutSingleSegmentFlag/enough-dst-buf (0.00s)
=== RUN TestCompressDecompressDistinctConcurrentDicts
--- PASS: TestCompressDecompressDistinctConcurrentDicts (0.03s)
=== RUN TestCompressDecompressDistinctConcurrentDictsByRef
--- PASS: TestCompressDecompressDistinctConcurrentDictsByRef (0.03s)
=== RUN TestCompressDecompressDict
--- PASS: TestCompressDecompressDict (0.01s)
=== RUN TestDecompressInvalidData
--- PASS: TestDecompressInvalidData (0.00s)
=== RUN TestCompressLevel
--- PASS: TestCompressLevel (0.00s)
=== RUN TestCompressDecompress
--- PASS: TestCompressDecompress (0.05s)
=== RUN TestCompressDecompressMultiFrames
--- PASS: TestCompressDecompressMultiFrames (0.00s)
=== RUN TestReaderReadCompressBomb
--- PASS: TestReaderReadCompressBomb (0.00s)
=== RUN TestReaderWriteTo
--- PASS: TestReaderWriteTo (0.00s)
=== RUN TestReaderDict
--- PASS: TestReaderDict (0.06s)
=== RUN TestReaderMultiFrames
--- PASS: TestReaderMultiFrames (0.00s)
=== RUN TestReaderBadUnderlyingReader
--- PASS: TestReaderBadUnderlyingReader (0.00s)
=== RUN TestReaderInvalidData
--- PASS: TestReaderInvalidData (0.00s)
=== RUN TestReader
--- PASS: TestReader (0.03s)
=== RUN TestStreamCompressDecompress
--- PASS: TestStreamCompressDecompress (0.00s)
=== RUN TestStreamCompressDecompressLevel
=== RUN TestStreamCompressDecompressLevel/level_0
=== RUN TestStreamCompressDecompressLevel/level_1
=== RUN TestStreamCompressDecompressLevel/level_2
=== RUN TestStreamCompressDecompressLevel/level_3
=== RUN TestStreamCompressDecompressLevel/level_4
=== RUN TestStreamCompressDecompressLevel/level_5
=== RUN TestStreamCompressDecompressLevel/level_6
=== RUN TestStreamCompressDecompressLevel/level_7
=== RUN TestStreamCompressDecompressLevel/level_8
=== RUN TestStreamCompressDecompressLevel/level_9
=== RUN TestStreamCompressDecompressLevel/level_10
=== RUN TestStreamCompressDecompressLevel/level_11
=== RUN TestStreamCompressDecompressLevel/level_12
=== RUN TestStreamCompressDecompressLevel/level_13
=== RUN TestStreamCompressDecompressLevel/level_14
=== RUN TestStreamCompressDecompressLevel/level_15
=== RUN TestStreamCompressDecompressLevel/level_16
=== RUN TestStreamCompressDecompressLevel/level_17
=== RUN TestStreamCompressDecompressLevel/level_18
=== RUN TestStreamCompressDecompressLevel/level_19
--- PASS: TestStreamCompressDecompressLevel (0.29s)
--- PASS: TestStreamCompressDecompressLevel/level_0 (0.00s)
--- PASS: TestStreamCompressDecompressLevel/level_1 (0.00s)
--- PASS: TestStreamCompressDecompressLevel/level_2 (0.00s)
--- PASS: TestStreamCompressDecompressLevel/level_3 (0.00s)
--- PASS: TestStreamCompressDecompressLevel/level_4 (0.00s)
--- PASS: TestStreamCompressDecompressLevel/level_5 (0.00s)
--- PASS: TestStreamCompressDecompressLevel/level_6 (0.00s)
--- PASS: TestStreamCompressDecompressLevel/level_7 (0.00s)
--- PASS: TestStreamCompressDecompressLevel/level_8 (0.00s)
--- PASS: TestStreamCompressDecompressLevel/level_9 (0.00s)
--- PASS: TestStreamCompressDecompressLevel/level_10 (0.01s)
--- PASS: TestStreamCompressDecompressLevel/level_11 (0.01s)
--- PASS: TestStreamCompressDecompressLevel/level_12 (0.01s)
--- PASS: TestStreamCompressDecompressLevel/level_13 (0.01s)
--- PASS: TestStreamCompressDecompressLevel/level_14 (0.03s)
--- PASS: TestStreamCompressDecompressLevel/level_15 (0.06s)
--- PASS: TestStreamCompressDecompressLevel/level_16 (0.01s)
--- PASS: TestStreamCompressDecompressLevel/level_17 (0.03s)
--- PASS: TestStreamCompressDecompressLevel/level_18 (0.01s)
--- PASS: TestStreamCompressDecompressLevel/level_19 (0.09s)
=== RUN TestStreamCompressDecompressDict
--- PASS: TestStreamCompressDecompressDict (0.02s)
=== RUN TestWriterReadFromWithEOF
--- PASS: TestWriterReadFromWithEOF (0.00s)
=== RUN TestWriterReadFrom
--- PASS: TestWriterReadFrom (0.00s)
=== RUN TestNewWriterLevel
--- PASS: TestNewWriterLevel (0.23s)
=== RUN TestWriterDict
--- PASS: TestWriterDict (0.05s)
=== RUN TestWriterWindowLog
--- PASS: TestWriterWindowLog (2.41s)
=== RUN TestWriterResetWriterParams
--- PASS: TestWriterResetWriterParams (0.08s)
=== RUN TestWriterMultiFrames
--- PASS: TestWriterMultiFrames (0.00s)
=== RUN TestWriterBadUnderlyingWriter
--- PASS: TestWriterBadUnderlyingWriter (0.00s)
=== RUN TestWriter
--- PASS: TestWriter (0.03s)
=== RUN TestWriterBig
--- PASS: TestWriterBig (0.05s)
=== RUN ExampleBuildDict
--- PASS: ExampleBuildDict (0.01s)
=== RUN ExampleCompress_simple
--- PASS: ExampleCompress_simple (0.00s)
=== RUN ExampleDecompress_simple
--- PASS: ExampleDecompress_simple (0.00s)
=== RUN ExampleCompress_noAllocs
--- PASS: ExampleCompress_noAllocs (0.00s)
=== RUN ExampleDecompress_noAllocs
--- PASS: ExampleDecompress_noAllocs (0.00s)
=== RUN ExampleReader
--- PASS: ExampleReader (0.00s)
=== RUN ExampleReader_Reset
--- PASS: ExampleReader_Reset (0.00s)
=== RUN ExampleWriter
--- PASS: ExampleWriter (0.00s)
=== RUN ExampleWriter_Flush
--- PASS: ExampleWriter_Flush (0.00s)
=== RUN ExampleWriter_Reset
--- PASS: ExampleWriter_Reset (0.00s)
=== RUN ExampleWriterParams
--- PASS: ExampleWriterParams (0.00s)
PASS
ok github.com/valyala/gozstd 3.771s
Full Benchmark Output
> go test -bench=. -benchmem ./...
goos: darwin
goarch: arm64
pkg: github.com/valyala/gozstd
BenchmarkDecompressDict/blockSize_1/level_3-10 58799746 19.66 ns/op 50.85 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDict/blockSize_1/level_3-10
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
BenchmarkDecompressDict/blockSize_1/level_5-10 68347509 18.66 ns/op 53.60 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDict/blockSize_1/level_5-10
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
BenchmarkDecompressDict/blockSize_1/level_10-10 72008820 18.03 ns/op 55.45 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDict/blockSize_1/level_10-10
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
BenchmarkDecompressDict/blockSize_10/level_3-10 51326011 22.59 ns/op 442.58 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDict/blockSize_10/level_3-10
gozstd_timing_test.go:50: compressionRatio: 0.500000
gozstd_timing_test.go:50: compressionRatio: 0.500000
gozstd_timing_test.go:50: compressionRatio: 0.500000
gozstd_timing_test.go:50: compressionRatio: 0.500000
gozstd_timing_test.go:50: compressionRatio: 0.500000
BenchmarkDecompressDict/blockSize_10/level_5-10 57747834 19.21 ns/op 520.49 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDict/blockSize_10/level_5-10
gozstd_timing_test.go:50: compressionRatio: 0.434783
gozstd_timing_test.go:50: compressionRatio: 0.434783
gozstd_timing_test.go:50: compressionRatio: 0.434783
gozstd_timing_test.go:50: compressionRatio: 0.434783
gozstd_timing_test.go:50: compressionRatio: 0.434783
BenchmarkDecompressDict/blockSize_10/level_10-10 51152892 22.04 ns/op 453.78 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDict/blockSize_10/level_10-10
gozstd_timing_test.go:50: compressionRatio: 0.500000
gozstd_timing_test.go:50: compressionRatio: 0.500000
gozstd_timing_test.go:50: compressionRatio: 0.500000
gozstd_timing_test.go:50: compressionRatio: 0.500000
gozstd_timing_test.go:50: compressionRatio: 0.500000
BenchmarkDecompressDict/blockSize_100/level_3-10 68849778 17.13 ns/op 5836.93 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDict/blockSize_100/level_3-10
gozstd_timing_test.go:50: compressionRatio: 5.000000
gozstd_timing_test.go:50: compressionRatio: 5.000000
gozstd_timing_test.go:50: compressionRatio: 5.000000
gozstd_timing_test.go:50: compressionRatio: 5.000000
gozstd_timing_test.go:50: compressionRatio: 5.000000
BenchmarkDecompressDict/blockSize_100/level_5-10 61840129 17.98 ns/op 5560.70 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDict/blockSize_100/level_5-10
gozstd_timing_test.go:50: compressionRatio: 4.347826
gozstd_timing_test.go:50: compressionRatio: 4.347826
gozstd_timing_test.go:50: compressionRatio: 4.347826
gozstd_timing_test.go:50: compressionRatio: 4.347826
gozstd_timing_test.go:50: compressionRatio: 4.347826
BenchmarkDecompressDict/blockSize_100/level_10-10 61295113 18.99 ns/op 5265.01 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDict/blockSize_100/level_10-10
gozstd_timing_test.go:50: compressionRatio: 4.166667
gozstd_timing_test.go:50: compressionRatio: 4.166667
gozstd_timing_test.go:50: compressionRatio: 4.166667
gozstd_timing_test.go:50: compressionRatio: 4.166667
gozstd_timing_test.go:50: compressionRatio: 4.166667
BenchmarkDecompressDict/blockSize_1000/level_3-10 10819798 110.7 ns/op 9030.58 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDict/blockSize_1000/level_3-10
gozstd_timing_test.go:50: compressionRatio: 4.255319
gozstd_timing_test.go:50: compressionRatio: 4.255319
gozstd_timing_test.go:50: compressionRatio: 4.255319
gozstd_timing_test.go:50: compressionRatio: 4.255319
gozstd_timing_test.go:50: compressionRatio: 4.255319
BenchmarkDecompressDict/blockSize_1000/level_5-10 4322536 287.1 ns/op 3483.14 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDict/blockSize_1000/level_5-10
gozstd_timing_test.go:50: compressionRatio: 6.097561
gozstd_timing_test.go:50: compressionRatio: 6.097561
gozstd_timing_test.go:50: compressionRatio: 6.097561
gozstd_timing_test.go:50: compressionRatio: 6.097561
gozstd_timing_test.go:50: compressionRatio: 6.097561
BenchmarkDecompressDict/blockSize_1000/level_10-10 4217209 284.6 ns/op 3513.50 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDict/blockSize_1000/level_10-10
gozstd_timing_test.go:50: compressionRatio: 5.847953
gozstd_timing_test.go:50: compressionRatio: 5.847953
gozstd_timing_test.go:50: compressionRatio: 5.847953
gozstd_timing_test.go:50: compressionRatio: 5.847953
gozstd_timing_test.go:50: compressionRatio: 5.847953
BenchmarkDecompressDict/blockSize_10000/level_3-10 1000000 1050 ns/op 9526.67 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDict/blockSize_10000/level_3-10
gozstd_timing_test.go:50: compressionRatio: 4.081633
gozstd_timing_test.go:50: compressionRatio: 4.081633
gozstd_timing_test.go:50: compressionRatio: 4.081633
gozstd_timing_test.go:50: compressionRatio: 4.081633
BenchmarkDecompressDict/blockSize_10000/level_5-10 865293 1209 ns/op 8274.49 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDict/blockSize_10000/level_5-10
gozstd_timing_test.go:50: compressionRatio: 6.648936
gozstd_timing_test.go:50: compressionRatio: 6.648936
gozstd_timing_test.go:50: compressionRatio: 6.648936
gozstd_timing_test.go:50: compressionRatio: 6.648936
BenchmarkDecompressDict/blockSize_10000/level_10-10 938085 1190 ns/op 8404.11 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDict/blockSize_10000/level_10-10
gozstd_timing_test.go:50: compressionRatio: 8.000000
gozstd_timing_test.go:50: compressionRatio: 8.000000
gozstd_timing_test.go:50: compressionRatio: 8.000000
gozstd_timing_test.go:50: compressionRatio: 8.000000
BenchmarkDecompressDict/blockSize_100000/level_3-10 119624 9689 ns/op 10320.72 MB/s 17 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDict/blockSize_100000/level_3-10
gozstd_timing_test.go:50: compressionRatio: 5.651314
gozstd_timing_test.go:50: compressionRatio: 5.651314
gozstd_timing_test.go:50: compressionRatio: 5.651314
gozstd_timing_test.go:50: compressionRatio: 5.651314
BenchmarkDecompressDict/blockSize_100000/level_5-10 119250 9489 ns/op 10538.64 MB/s 17 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDict/blockSize_100000/level_5-10
gozstd_timing_test.go:50: compressionRatio: 5.755396
gozstd_timing_test.go:50: compressionRatio: 5.755396
gozstd_timing_test.go:50: compressionRatio: 5.755396
gozstd_timing_test.go:50: compressionRatio: 5.755396
BenchmarkDecompressDict/blockSize_100000/level_10-10 136354 8506 ns/op 11756.74 MB/s 15 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDict/blockSize_100000/level_10-10
gozstd_timing_test.go:50: compressionRatio: 7.328692
gozstd_timing_test.go:50: compressionRatio: 7.328692
gozstd_timing_test.go:50: compressionRatio: 7.328692
gozstd_timing_test.go:50: compressionRatio: 7.328692
BenchmarkDecompressDict/blockSize_300000/level_3-10 44865 25645 ns/op 11697.98 MB/s 67 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDict/blockSize_300000/level_3-10
gozstd_timing_test.go:50: compressionRatio: 4.937784
gozstd_timing_test.go:50: compressionRatio: 4.937784
gozstd_timing_test.go:50: compressionRatio: 4.937784
gozstd_timing_test.go:50: compressionRatio: 4.937784
BenchmarkDecompressDict/blockSize_300000/level_5-10 39726 29879 ns/op 10040.35 MB/s 76 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDict/blockSize_300000/level_5-10
gozstd_timing_test.go:50: compressionRatio: 4.450642
gozstd_timing_test.go:50: compressionRatio: 4.450642
gozstd_timing_test.go:50: compressionRatio: 4.450642
gozstd_timing_test.go:50: compressionRatio: 4.450642
BenchmarkDecompressDict/blockSize_300000/level_10-10 45374 24729 ns/op 12131.38 MB/s 66 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDict/blockSize_300000/level_10-10
gozstd_timing_test.go:50: compressionRatio: 7.193210
gozstd_timing_test.go:50: compressionRatio: 7.193210
gozstd_timing_test.go:50: compressionRatio: 7.193210
gozstd_timing_test.go:50: compressionRatio: 7.193210
BenchmarkDecompressDictByRef/blockSize_1/level_3-10 59149357 21.39 ns/op 46.75 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDictByRef/blockSize_1/level_3-10
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
BenchmarkDecompressDictByRef/blockSize_1/level_5-10 66874568 22.24 ns/op 44.97 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDictByRef/blockSize_1/level_5-10
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
BenchmarkDecompressDictByRef/blockSize_1/level_10-10 63507973 19.04 ns/op 52.52 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDictByRef/blockSize_1/level_10-10
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
gozstd_timing_test.go:50: compressionRatio: 0.071429
BenchmarkDecompressDictByRef/blockSize_10/level_3-10 52190838 25.38 ns/op 393.96 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDictByRef/blockSize_10/level_3-10
gozstd_timing_test.go:50: compressionRatio: 0.500000
gozstd_timing_test.go:50: compressionRatio: 0.500000
gozstd_timing_test.go:50: compressionRatio: 0.500000
gozstd_timing_test.go:50: compressionRatio: 0.500000
gozstd_timing_test.go:50: compressionRatio: 0.500000
BenchmarkDecompressDictByRef/blockSize_10/level_5-10 55748263 22.37 ns/op 446.99 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDictByRef/blockSize_10/level_5-10
gozstd_timing_test.go:50: compressionRatio: 0.500000
gozstd_timing_test.go:50: compressionRatio: 0.500000
gozstd_timing_test.go:50: compressionRatio: 0.500000
gozstd_timing_test.go:50: compressionRatio: 0.500000
gozstd_timing_test.go:50: compressionRatio: 0.500000
BenchmarkDecompressDictByRef/blockSize_10/level_10-10 51998888 23.95 ns/op 417.55 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDictByRef/blockSize_10/level_10-10
gozstd_timing_test.go:50: compressionRatio: 0.500000
gozstd_timing_test.go:50: compressionRatio: 0.500000
gozstd_timing_test.go:50: compressionRatio: 0.500000
gozstd_timing_test.go:50: compressionRatio: 0.500000
gozstd_timing_test.go:50: compressionRatio: 0.500000
BenchmarkDecompressDictByRef/blockSize_100/level_3-10 60113337 17.32 ns/op 5774.52 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDictByRef/blockSize_100/level_3-10
gozstd_timing_test.go:50: compressionRatio: 5.000000
gozstd_timing_test.go:50: compressionRatio: 5.000000
gozstd_timing_test.go:50: compressionRatio: 5.000000
gozstd_timing_test.go:50: compressionRatio: 5.000000
gozstd_timing_test.go:50: compressionRatio: 5.000000
BenchmarkDecompressDictByRef/blockSize_100/level_5-10 58738826 19.58 ns/op 5107.51 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDictByRef/blockSize_100/level_5-10
gozstd_timing_test.go:50: compressionRatio: 4.000000
gozstd_timing_test.go:50: compressionRatio: 4.000000
gozstd_timing_test.go:50: compressionRatio: 4.000000
gozstd_timing_test.go:50: compressionRatio: 4.000000
gozstd_timing_test.go:50: compressionRatio: 4.000000
BenchmarkDecompressDictByRef/blockSize_100/level_10-10 60992137 17.48 ns/op 5721.64 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDictByRef/blockSize_100/level_10-10
gozstd_timing_test.go:50: compressionRatio: 5.000000
gozstd_timing_test.go:50: compressionRatio: 5.000000
gozstd_timing_test.go:50: compressionRatio: 5.000000
gozstd_timing_test.go:50: compressionRatio: 5.000000
gozstd_timing_test.go:50: compressionRatio: 5.000000
BenchmarkDecompressDictByRef/blockSize_1000/level_3-10 15742263 78.63 ns/op 12718.07 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDictByRef/blockSize_1000/level_3-10
gozstd_timing_test.go:50: compressionRatio: 3.003003
gozstd_timing_test.go:50: compressionRatio: 3.003003
gozstd_timing_test.go:50: compressionRatio: 3.003003
gozstd_timing_test.go:50: compressionRatio: 3.003003
gozstd_timing_test.go:50: compressionRatio: 3.003003
BenchmarkDecompressDictByRef/blockSize_1000/level_5-10 4217052 293.1 ns/op 3411.57 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDictByRef/blockSize_1000/level_5-10
gozstd_timing_test.go:50: compressionRatio: 5.405405
gozstd_timing_test.go:50: compressionRatio: 5.405405
gozstd_timing_test.go:50: compressionRatio: 5.405405
gozstd_timing_test.go:50: compressionRatio: 5.405405
gozstd_timing_test.go:50: compressionRatio: 5.405405
BenchmarkDecompressDictByRef/blockSize_1000/level_10-10 4201056 284.3 ns/op 3517.50 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDictByRef/blockSize_1000/level_10-10
gozstd_timing_test.go:50: compressionRatio: 6.802721
gozstd_timing_test.go:50: compressionRatio: 6.802721
gozstd_timing_test.go:50: compressionRatio: 6.802721
gozstd_timing_test.go:50: compressionRatio: 6.802721
gozstd_timing_test.go:50: compressionRatio: 6.802721
BenchmarkDecompressDictByRef/blockSize_10000/level_3-10 1000000 1035 ns/op 9658.93 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDictByRef/blockSize_10000/level_3-10
gozstd_timing_test.go:50: compressionRatio: 2.968240
gozstd_timing_test.go:50: compressionRatio: 2.968240
gozstd_timing_test.go:50: compressionRatio: 2.968240
gozstd_timing_test.go:50: compressionRatio: 2.968240
BenchmarkDecompressDictByRef/blockSize_10000/level_5-10 912402 1200 ns/op 8331.94 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDictByRef/blockSize_10000/level_5-10
gozstd_timing_test.go:50: compressionRatio: 6.775068
gozstd_timing_test.go:50: compressionRatio: 6.775068
gozstd_timing_test.go:50: compressionRatio: 6.775068
gozstd_timing_test.go:50: compressionRatio: 6.775068
BenchmarkDecompressDictByRef/blockSize_10000/level_10-10 1070834 1136 ns/op 8799.17 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDictByRef/blockSize_10000/level_10-10
gozstd_timing_test.go:50: compressionRatio: 8.216927
gozstd_timing_test.go:50: compressionRatio: 8.216927
gozstd_timing_test.go:50: compressionRatio: 8.216927
gozstd_timing_test.go:50: compressionRatio: 8.216927
gozstd_timing_test.go:50: compressionRatio: 8.216927
BenchmarkDecompressDictByRef/blockSize_100000/level_3-10 117387 9403 ns/op 10635.34 MB/s 18 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDictByRef/blockSize_100000/level_3-10
gozstd_timing_test.go:50: compressionRatio: 5.663156
gozstd_timing_test.go:50: compressionRatio: 5.663156
gozstd_timing_test.go:50: compressionRatio: 5.663156
gozstd_timing_test.go:50: compressionRatio: 5.663156
BenchmarkDecompressDictByRef/blockSize_100000/level_5-10 129529 9552 ns/op 10468.95 MB/s 16 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDictByRef/blockSize_100000/level_5-10
gozstd_timing_test.go:50: compressionRatio: 6.130080
gozstd_timing_test.go:50: compressionRatio: 6.130080
gozstd_timing_test.go:50: compressionRatio: 6.130080
gozstd_timing_test.go:50: compressionRatio: 6.130080
BenchmarkDecompressDictByRef/blockSize_100000/level_10-10 141172 8544 ns/op 11703.69 MB/s 15 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDictByRef/blockSize_100000/level_10-10
gozstd_timing_test.go:50: compressionRatio: 7.368111
gozstd_timing_test.go:50: compressionRatio: 7.368111
gozstd_timing_test.go:50: compressionRatio: 7.368111
gozstd_timing_test.go:50: compressionRatio: 7.368111
BenchmarkDecompressDictByRef/blockSize_300000/level_3-10 45314 26058 ns/op 11512.60 MB/s 67 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDictByRef/blockSize_300000/level_3-10
gozstd_timing_test.go:50: compressionRatio: 4.943480
gozstd_timing_test.go:50: compressionRatio: 4.943480
gozstd_timing_test.go:50: compressionRatio: 4.943480
gozstd_timing_test.go:50: compressionRatio: 4.943480
BenchmarkDecompressDictByRef/blockSize_300000/level_5-10 39554 31841 ns/op 9421.92 MB/s 76 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDictByRef/blockSize_300000/level_5-10
gozstd_timing_test.go:50: compressionRatio: 4.448333
gozstd_timing_test.go:50: compressionRatio: 4.448333
gozstd_timing_test.go:50: compressionRatio: 4.448333
gozstd_timing_test.go:50: compressionRatio: 4.448333
BenchmarkDecompressDictByRef/blockSize_300000/level_10-10 48345 27077 ns/op 11079.52 MB/s 62 B/op 0 allocs/op
--- BENCH: BenchmarkDecompressDictByRef/blockSize_300000/level_10-10
gozstd_timing_test.go:50: compressionRatio: 7.199079
gozstd_timing_test.go:50: compressionRatio: 7.199079
gozstd_timing_test.go:50: compressionRatio: 7.199079
gozstd_timing_test.go:50: compressionRatio: 7.199079
BenchmarkCompressDict/blockSize_1/level_3-10 45646882 26.31 ns/op 38.00 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDict/blockSize_1/level_5-10 38136249 30.30 ns/op 33.00 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDict/blockSize_1/level_10-10 42246888 27.31 ns/op 36.61 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDict/blockSize_10/level_3-10 11924122 103.1 ns/op 97.03 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDict/blockSize_10/level_5-10 10563769 107.2 ns/op 93.24 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDict/blockSize_10/level_10-10 11201661 107.6 ns/op 92.97 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDict/blockSize_100/level_3-10 11782600 119.8 ns/op 834.42 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDict/blockSize_100/level_5-10 9689545 124.4 ns/op 803.62 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDict/blockSize_100/level_10-10 11936562 101.3 ns/op 986.70 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDict/blockSize_1000/level_3-10 4949862 240.3 ns/op 4161.98 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDict/blockSize_1000/level_5-10 1469346 829.5 ns/op 1205.51 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDict/blockSize_1000/level_10-10 676926 1680 ns/op 595.37 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDict/blockSize_10000/level_3-10 429900 2783 ns/op 3593.86 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDict/blockSize_10000/level_5-10 171814 7005 ns/op 1427.56 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDict/blockSize_10000/level_10-10 68016 17113 ns/op 584.36 MB/s 1 B/op 0 allocs/op
BenchmarkCompressDict/blockSize_100000/level_3-10 45840 26248 ns/op 3809.87 MB/s 27 B/op 0 allocs/op
BenchmarkCompressDict/blockSize_100000/level_5-10 17262 65060 ns/op 1537.04 MB/s 72 B/op 0 allocs/op
BenchmarkCompressDict/blockSize_100000/level_10-10 9925 111574 ns/op 896.27 MB/s 122 B/op 0 allocs/op
BenchmarkCompressDict/blockSize_300000/level_3-10 11946 98656 ns/op 3040.88 MB/s 308 B/op 0 allocs/op
BenchmarkCompressDict/blockSize_300000/level_5-10 5706 185986 ns/op 1613.03 MB/s 661 B/op 0 allocs/op
BenchmarkCompressDict/blockSize_300000/level_10-10 1748 639252 ns/op 469.30 MB/s 2017 B/op 0 allocs/op
BenchmarkCompressDictByRef/blockSize_1/level_3-10 37653211 27.70 ns/op 36.09 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDictByRef/blockSize_1/level_5-10 44543155 27.87 ns/op 35.88 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDictByRef/blockSize_1/level_10-10 45110096 26.45 ns/op 37.81 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDictByRef/blockSize_10/level_3-10 11643537 103.5 ns/op 96.65 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDictByRef/blockSize_10/level_5-10 11384451 110.9 ns/op 90.21 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDictByRef/blockSize_10/level_10-10 10293279 114.5 ns/op 87.32 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDictByRef/blockSize_100/level_3-10 11576036 100.2 ns/op 997.57 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDictByRef/blockSize_100/level_5-10 13171288 90.20 ns/op 1108.66 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDictByRef/blockSize_100/level_10-10 10040517 112.2 ns/op 891.29 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDictByRef/blockSize_1000/level_3-10 5092779 232.8 ns/op 4295.42 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDictByRef/blockSize_1000/level_5-10 1418889 841.8 ns/op 1187.90 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDictByRef/blockSize_1000/level_10-10 702036 1515 ns/op 660.05 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDictByRef/blockSize_10000/level_3-10 401656 2787 ns/op 3588.39 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDictByRef/blockSize_10000/level_5-10 175604 6721 ns/op 1487.85 MB/s 0 B/op 0 allocs/op
BenchmarkCompressDictByRef/blockSize_10000/level_10-10 72402 16627 ns/op 601.44 MB/s 1 B/op 0 allocs/op
BenchmarkCompressDictByRef/blockSize_100000/level_3-10 44686 27248 ns/op 3670.06 MB/s 28 B/op 0 allocs/op
BenchmarkCompressDictByRef/blockSize_100000/level_5-10 18452 64524 ns/op 1549.81 MB/s 66 B/op 0 allocs/op
BenchmarkCompressDictByRef/blockSize_100000/level_10-10 9010 111749 ns/op 894.86 MB/s 134 B/op 0 allocs/op
BenchmarkCompressDictByRef/blockSize_300000/level_3-10 12112 102105 ns/op 2938.16 MB/s 304 B/op 0 allocs/op
BenchmarkCompressDictByRef/blockSize_300000/level_5-10 5697 179225 ns/op 1673.87 MB/s 662 B/op 0 allocs/op
BenchmarkCompressDictByRef/blockSize_300000/level_10-10 1848 601000 ns/op 499.17 MB/s 1908 B/op 0 allocs/op
BenchmarkCompress/blockSize_1/level_3-10 65246940 17.18 ns/op 58.22 MB/s 0 B/op 0 allocs/op
BenchmarkCompress/blockSize_1/level_5-10 55139139 21.03 ns/op 47.56 MB/s 0 B/op 0 allocs/op
BenchmarkCompress/blockSize_1/level_10-10 66177076 17.40 ns/op 57.48 MB/s 0 B/op 0 allocs/op
BenchmarkCompress/blockSize_10/level_3-10 40016006 27.92 ns/op 358.11 MB/s 0 B/op 0 allocs/op
BenchmarkCompress/blockSize_10/level_5-10 40598317 28.30 ns/op 353.33 MB/s 0 B/op 0 allocs/op
BenchmarkCompress/blockSize_10/level_10-10 38415057 28.74 ns/op 347.97 MB/s 0 B/op 0 allocs/op
BenchmarkCompress/blockSize_100/level_3-10 11270973 105.6 ns/op 947.07 MB/s 0 B/op 0 allocs/op
BenchmarkCompress/blockSize_100/level_5-10 7909160 152.0 ns/op 657.89 MB/s 0 B/op 0 allocs/op
BenchmarkCompress/blockSize_100/level_10-10 7431728 167.9 ns/op 595.65 MB/s 0 B/op 0 allocs/op
BenchmarkCompress/blockSize_1000/level_3-10 2239350 525.9 ns/op 1901.52 MB/s 0 B/op 0 allocs/op
BenchmarkCompress/blockSize_1000/level_5-10 1504802 790.5 ns/op 1265.03 MB/s 0 B/op 0 allocs/op
BenchmarkCompress/blockSize_1000/level_10-10 940610 1136 ns/op 880.05 MB/s 0 B/op 0 allocs/op
BenchmarkCompress/blockSize_10000/level_3-10 431268 2681 ns/op 3730.17 MB/s 0 B/op 0 allocs/op
BenchmarkCompress/blockSize_10000/level_5-10 185668 6083 ns/op 1643.94 MB/s 0 B/op 0 allocs/op
BenchmarkCompress/blockSize_10000/level_10-10 44887 26897 ns/op 371.78 MB/s 2 B/op 0 allocs/op
BenchmarkCompress/blockSize_100000/level_3-10 51292 23548 ns/op 4246.60 MB/s 24 B/op 0 allocs/op
BenchmarkCompress/blockSize_100000/level_5-10 23295 52249 ns/op 1913.91 MB/s 55 B/op 0 allocs/op
BenchmarkCompress/blockSize_100000/level_10-10 4044 273817 ns/op 365.21 MB/s 297 B/op 0 allocs/op
BenchmarkCompress/blockSize_300000/level_3-10 15006 80227 ns/op 3739.39 MB/s 245 B/op 0 allocs/op
BenchmarkCompress/blockSize_300000/level_5-10 7324 162964 ns/op 1840.90 MB/s 515 B/op 0 allocs/op
BenchmarkCompress/blockSize_300000/level_10-10 1928 533395 ns/op 562.43 MB/s 1829 B/op 0 allocs/op
BenchmarkDecompress/blockSize_1/level_3-10 68179071 18.68 ns/op 53.55 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompress/blockSize_1/level_3-10
gozstd_timing_test.go:240: compressionRatio: 0.100000
gozstd_timing_test.go:240: compressionRatio: 0.100000
gozstd_timing_test.go:240: compressionRatio: 0.100000
gozstd_timing_test.go:240: compressionRatio: 0.100000
gozstd_timing_test.go:240: compressionRatio: 0.100000
BenchmarkDecompress/blockSize_1/level_5-10 67539680 17.46 ns/op 57.26 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompress/blockSize_1/level_5-10
gozstd_timing_test.go:240: compressionRatio: 0.100000
gozstd_timing_test.go:240: compressionRatio: 0.100000
gozstd_timing_test.go:240: compressionRatio: 0.100000
gozstd_timing_test.go:240: compressionRatio: 0.100000
gozstd_timing_test.go:240: compressionRatio: 0.100000
BenchmarkDecompress/blockSize_1/level_10-10 70908889 16.98 ns/op 58.88 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompress/blockSize_1/level_10-10
gozstd_timing_test.go:240: compressionRatio: 0.100000
gozstd_timing_test.go:240: compressionRatio: 0.100000
gozstd_timing_test.go:240: compressionRatio: 0.100000
gozstd_timing_test.go:240: compressionRatio: 0.100000
gozstd_timing_test.go:240: compressionRatio: 0.100000
BenchmarkDecompress/blockSize_10/level_3-10 69277564 18.52 ns/op 539.88 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompress/blockSize_10/level_3-10
gozstd_timing_test.go:240: compressionRatio: 0.526316
gozstd_timing_test.go:240: compressionRatio: 0.526316
gozstd_timing_test.go:240: compressionRatio: 0.526316
gozstd_timing_test.go:240: compressionRatio: 0.526316
gozstd_timing_test.go:240: compressionRatio: 0.526316
BenchmarkDecompress/blockSize_10/level_5-10 69361486 21.35 ns/op 468.34 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompress/blockSize_10/level_5-10
gozstd_timing_test.go:240: compressionRatio: 0.526316
gozstd_timing_test.go:240: compressionRatio: 0.526316
gozstd_timing_test.go:240: compressionRatio: 0.526316
gozstd_timing_test.go:240: compressionRatio: 0.526316
gozstd_timing_test.go:240: compressionRatio: 0.526316
BenchmarkDecompress/blockSize_10/level_10-10 62936374 16.44 ns/op 608.42 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompress/blockSize_10/level_10-10
gozstd_timing_test.go:240: compressionRatio: 0.526316
gozstd_timing_test.go:240: compressionRatio: 0.526316
gozstd_timing_test.go:240: compressionRatio: 0.526316
gozstd_timing_test.go:240: compressionRatio: 0.526316
gozstd_timing_test.go:240: compressionRatio: 0.526316
BenchmarkDecompress/blockSize_100/level_3-10 46169679 24.56 ns/op 4072.17 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompress/blockSize_100/level_3-10
gozstd_timing_test.go:240: compressionRatio: 1.639344
gozstd_timing_test.go:240: compressionRatio: 1.639344
gozstd_timing_test.go:240: compressionRatio: 1.639344
gozstd_timing_test.go:240: compressionRatio: 1.639344
gozstd_timing_test.go:240: compressionRatio: 1.639344
BenchmarkDecompress/blockSize_100/level_5-10 45130878 24.63 ns/op 4059.62 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompress/blockSize_100/level_5-10
gozstd_timing_test.go:240: compressionRatio: 1.639344
gozstd_timing_test.go:240: compressionRatio: 1.639344
gozstd_timing_test.go:240: compressionRatio: 1.639344
gozstd_timing_test.go:240: compressionRatio: 1.639344
gozstd_timing_test.go:240: compressionRatio: 1.639344
BenchmarkDecompress/blockSize_100/level_10-10 43677459 24.61 ns/op 4063.61 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompress/blockSize_100/level_10-10
gozstd_timing_test.go:240: compressionRatio: 1.639344
gozstd_timing_test.go:240: compressionRatio: 1.639344
gozstd_timing_test.go:240: compressionRatio: 1.639344
gozstd_timing_test.go:240: compressionRatio: 1.639344
gozstd_timing_test.go:240: compressionRatio: 1.639344
BenchmarkDecompress/blockSize_1000/level_3-10 4043086 302.6 ns/op 3304.66 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompress/blockSize_1000/level_3-10
gozstd_timing_test.go:240: compressionRatio: 4.901961
gozstd_timing_test.go:240: compressionRatio: 4.901961
gozstd_timing_test.go:240: compressionRatio: 4.901961
gozstd_timing_test.go:240: compressionRatio: 4.901961
gozstd_timing_test.go:240: compressionRatio: 4.901961
BenchmarkDecompress/blockSize_1000/level_5-10 4037098 301.5 ns/op 3316.82 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompress/blockSize_1000/level_5-10
gozstd_timing_test.go:240: compressionRatio: 5.000000
gozstd_timing_test.go:240: compressionRatio: 5.000000
gozstd_timing_test.go:240: compressionRatio: 5.000000
gozstd_timing_test.go:240: compressionRatio: 5.000000
gozstd_timing_test.go:240: compressionRatio: 5.000000
BenchmarkDecompress/blockSize_1000/level_10-10 4038547 295.8 ns/op 3381.17 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompress/blockSize_1000/level_10-10
gozstd_timing_test.go:240: compressionRatio: 5.235602
gozstd_timing_test.go:240: compressionRatio: 5.235602
gozstd_timing_test.go:240: compressionRatio: 5.235602
gozstd_timing_test.go:240: compressionRatio: 5.235602
gozstd_timing_test.go:240: compressionRatio: 5.235602
BenchmarkDecompress/blockSize_10000/level_3-10 891900 1262 ns/op 7922.35 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompress/blockSize_10000/level_3-10
gozstd_timing_test.go:240: compressionRatio: 6.365372
gozstd_timing_test.go:240: compressionRatio: 6.365372
gozstd_timing_test.go:240: compressionRatio: 6.365372
gozstd_timing_test.go:240: compressionRatio: 6.365372
BenchmarkDecompress/blockSize_10000/level_5-10 914595 1219 ns/op 8206.09 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompress/blockSize_10000/level_5-10
gozstd_timing_test.go:240: compressionRatio: 6.108735
gozstd_timing_test.go:240: compressionRatio: 6.108735
gozstd_timing_test.go:240: compressionRatio: 6.108735
gozstd_timing_test.go:240: compressionRatio: 6.108735
BenchmarkDecompress/blockSize_10000/level_10-10 898231 1210 ns/op 8265.91 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkDecompress/blockSize_10000/level_10-10
gozstd_timing_test.go:240: compressionRatio: 7.757952
gozstd_timing_test.go:240: compressionRatio: 7.757952
gozstd_timing_test.go:240: compressionRatio: 7.757952
gozstd_timing_test.go:240: compressionRatio: 7.757952
BenchmarkDecompress/blockSize_100000/level_3-10 130620 8596 ns/op 11633.09 MB/s 16 B/op 0 allocs/op
--- BENCH: BenchmarkDecompress/blockSize_100000/level_3-10
gozstd_timing_test.go:240: compressionRatio: 5.077431
gozstd_timing_test.go:240: compressionRatio: 5.077431
gozstd_timing_test.go:240: compressionRatio: 5.077431
gozstd_timing_test.go:240: compressionRatio: 5.077431
BenchmarkDecompress/blockSize_100000/level_5-10 114969 9943 ns/op 10056.86 MB/s 18 B/op 0 allocs/op
--- BENCH: BenchmarkDecompress/blockSize_100000/level_5-10
gozstd_timing_test.go:240: compressionRatio: 4.663962
gozstd_timing_test.go:240: compressionRatio: 4.663962
gozstd_timing_test.go:240: compressionRatio: 4.663962
gozstd_timing_test.go:240: compressionRatio: 4.663962
BenchmarkDecompress/blockSize_100000/level_10-10 140643 8492 ns/op 11775.59 MB/s 15 B/op 0 allocs/op
--- BENCH: BenchmarkDecompress/blockSize_100000/level_10-10
gozstd_timing_test.go:240: compressionRatio: 7.856694
gozstd_timing_test.go:240: compressionRatio: 7.856694
gozstd_timing_test.go:240: compressionRatio: 7.856694
gozstd_timing_test.go:240: compressionRatio: 7.856694
BenchmarkDecompress/blockSize_300000/level_3-10 46741 25802 ns/op 11627.06 MB/s 64 B/op 0 allocs/op
--- BENCH: BenchmarkDecompress/blockSize_300000/level_3-10
gozstd_timing_test.go:240: compressionRatio: 4.994257
gozstd_timing_test.go:240: compressionRatio: 4.994257
gozstd_timing_test.go:240: compressionRatio: 4.994257
gozstd_timing_test.go:240: compressionRatio: 4.994257
BenchmarkDecompress/blockSize_300000/level_5-10 38751 30702 ns/op 9771.38 MB/s 78 B/op 0 allocs/op
--- BENCH: BenchmarkDecompress/blockSize_300000/level_5-10
gozstd_timing_test.go:240: compressionRatio: 4.444708
gozstd_timing_test.go:240: compressionRatio: 4.444708
gozstd_timing_test.go:240: compressionRatio: 4.444708
gozstd_timing_test.go:240: compressionRatio: 4.444708
BenchmarkDecompress/blockSize_300000/level_10-10 49149 24376 ns/op 12307.01 MB/s 61 B/op 0 allocs/op
--- BENCH: BenchmarkDecompress/blockSize_300000/level_10-10
gozstd_timing_test.go:240: compressionRatio: 7.186662
gozstd_timing_test.go:240: compressionRatio: 7.186662
gozstd_timing_test.go:240: compressionRatio: 7.186662
gozstd_timing_test.go:240: compressionRatio: 7.186662
BenchmarkReaderDict/blockSize_1/level_3-10 23909581 52.90 ns/op 189.03 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReaderDict/blockSize_1/level_3-10
reader_timing_test.go:26: compressionRatio: 0.500000
reader_timing_test.go:26: compressionRatio: 0.500000
reader_timing_test.go:26: compressionRatio: 0.500000
reader_timing_test.go:26: compressionRatio: 0.500000
reader_timing_test.go:26: compressionRatio: 0.500000
BenchmarkReaderDict/blockSize_1/level_5-10 24110384 46.20 ns/op 216.43 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReaderDict/blockSize_1/level_5-10
reader_timing_test.go:26: compressionRatio: 0.434783
reader_timing_test.go:26: compressionRatio: 0.434783
reader_timing_test.go:26: compressionRatio: 0.434783
reader_timing_test.go:26: compressionRatio: 0.434783
reader_timing_test.go:26: compressionRatio: 0.434783
BenchmarkReaderDict/blockSize_1/level_10-10 23077162 51.06 ns/op 195.84 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReaderDict/blockSize_1/level_10-10
reader_timing_test.go:26: compressionRatio: 0.500000
reader_timing_test.go:26: compressionRatio: 0.500000
reader_timing_test.go:26: compressionRatio: 0.500000
reader_timing_test.go:26: compressionRatio: 0.500000
reader_timing_test.go:26: compressionRatio: 0.500000
BenchmarkReaderDict/blockSize_10/level_3-10 22895083 52.09 ns/op 1919.79 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReaderDict/blockSize_10/level_3-10
reader_timing_test.go:26: compressionRatio: 5.000000
reader_timing_test.go:26: compressionRatio: 5.000000
reader_timing_test.go:26: compressionRatio: 5.000000
reader_timing_test.go:26: compressionRatio: 5.000000
reader_timing_test.go:26: compressionRatio: 5.000000
BenchmarkReaderDict/blockSize_10/level_5-10 22543466 50.20 ns/op 1992.14 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReaderDict/blockSize_10/level_5-10
reader_timing_test.go:26: compressionRatio: 4.347826
reader_timing_test.go:26: compressionRatio: 4.347826
reader_timing_test.go:26: compressionRatio: 4.347826
reader_timing_test.go:26: compressionRatio: 4.347826
reader_timing_test.go:26: compressionRatio: 4.347826
BenchmarkReaderDict/blockSize_10/level_10-10 22360959 51.13 ns/op 1955.88 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReaderDict/blockSize_10/level_10-10
reader_timing_test.go:26: compressionRatio: 4.166667
reader_timing_test.go:26: compressionRatio: 4.166667
reader_timing_test.go:26: compressionRatio: 4.166667
reader_timing_test.go:26: compressionRatio: 4.166667
reader_timing_test.go:26: compressionRatio: 4.166667
BenchmarkReaderDict/blockSize_100/level_3-10 7851963 144.5 ns/op 6918.08 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReaderDict/blockSize_100/level_3-10
reader_timing_test.go:26: compressionRatio: 4.255319
reader_timing_test.go:26: compressionRatio: 4.255319
reader_timing_test.go:26: compressionRatio: 4.255319
reader_timing_test.go:26: compressionRatio: 4.255319
reader_timing_test.go:26: compressionRatio: 4.255319
BenchmarkReaderDict/blockSize_100/level_5-10 3682702 337.7 ns/op 2961.58 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReaderDict/blockSize_100/level_5-10
reader_timing_test.go:26: compressionRatio: 6.097561
reader_timing_test.go:26: compressionRatio: 6.097561
reader_timing_test.go:26: compressionRatio: 6.097561
reader_timing_test.go:26: compressionRatio: 6.097561
reader_timing_test.go:26: compressionRatio: 6.097561
BenchmarkReaderDict/blockSize_100/level_10-10 3286165 331.4 ns/op 3017.12 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReaderDict/blockSize_100/level_10-10
reader_timing_test.go:26: compressionRatio: 5.847953
reader_timing_test.go:26: compressionRatio: 5.847953
reader_timing_test.go:26: compressionRatio: 5.847953
reader_timing_test.go:26: compressionRatio: 5.847953
reader_timing_test.go:26: compressionRatio: 5.847953
BenchmarkReaderDict/blockSize_1000/level_3-10 945666 1121 ns/op 8919.11 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReaderDict/blockSize_1000/level_3-10
reader_timing_test.go:26: compressionRatio: 4.081633
reader_timing_test.go:26: compressionRatio: 4.081633
reader_timing_test.go:26: compressionRatio: 4.081633
reader_timing_test.go:26: compressionRatio: 4.081633
BenchmarkReaderDict/blockSize_1000/level_5-10 913131 1334 ns/op 7497.17 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReaderDict/blockSize_1000/level_5-10
reader_timing_test.go:26: compressionRatio: 6.648936
reader_timing_test.go:26: compressionRatio: 6.648936
reader_timing_test.go:26: compressionRatio: 6.648936
reader_timing_test.go:26: compressionRatio: 6.648936
BenchmarkReaderDict/blockSize_1000/level_10-10 829502 1250 ns/op 8002.89 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReaderDict/blockSize_1000/level_10-10
reader_timing_test.go:26: compressionRatio: 8.000000
reader_timing_test.go:26: compressionRatio: 8.000000
reader_timing_test.go:26: compressionRatio: 8.000000
reader_timing_test.go:26: compressionRatio: 8.000000
BenchmarkReaderDict/blockSize_10000/level_3-10 112638 9605 ns/op 10410.85 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReaderDict/blockSize_10000/level_3-10
reader_timing_test.go:26: compressionRatio: 5.651314
reader_timing_test.go:26: compressionRatio: 5.651314
reader_timing_test.go:26: compressionRatio: 5.651314
reader_timing_test.go:26: compressionRatio: 5.651314
BenchmarkReaderDict/blockSize_10000/level_5-10 121819 9511 ns/op 10514.62 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReaderDict/blockSize_10000/level_5-10
reader_timing_test.go:26: compressionRatio: 5.755396
reader_timing_test.go:26: compressionRatio: 5.755396
reader_timing_test.go:26: compressionRatio: 5.755396
reader_timing_test.go:26: compressionRatio: 5.755396
BenchmarkReaderDict/blockSize_10000/level_10-10 136928 8532 ns/op 11720.62 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReaderDict/blockSize_10000/level_10-10
reader_timing_test.go:26: compressionRatio: 7.328692
reader_timing_test.go:26: compressionRatio: 7.328692
reader_timing_test.go:26: compressionRatio: 7.328692
reader_timing_test.go:26: compressionRatio: 7.328692
BenchmarkReaderDict/blockSize_100000/level_3-10 12369 95905 ns/op 10427.04 MB/s 86 B/op 0 allocs/op
--- BENCH: BenchmarkReaderDict/blockSize_100000/level_3-10
reader_timing_test.go:26: compressionRatio: 4.716269
reader_timing_test.go:26: compressionRatio: 4.716269
reader_timing_test.go:26: compressionRatio: 4.716269
reader_timing_test.go:26: compressionRatio: 4.716269
BenchmarkReaderDict/blockSize_100000/level_5-10 9988 115599 ns/op 8650.57 MB/s 106 B/op 0 allocs/op
--- BENCH: BenchmarkReaderDict/blockSize_100000/level_5-10
reader_timing_test.go:26: compressionRatio: 4.379204
reader_timing_test.go:26: compressionRatio: 4.379204
reader_timing_test.go:26: compressionRatio: 4.379204
BenchmarkReaderDict/blockSize_100000/level_10-10 13290 89410 ns/op 11184.42 MB/s 80 B/op 0 allocs/op
--- BENCH: BenchmarkReaderDict/blockSize_100000/level_10-10
reader_timing_test.go:26: compressionRatio: 7.289533
reader_timing_test.go:26: compressionRatio: 7.289533
reader_timing_test.go:26: compressionRatio: 7.289533
reader_timing_test.go:26: compressionRatio: 7.289533
BenchmarkReaderDict/blockSize_300000/level_3-10 3342 376404 ns/op 7970.17 MB/s 907 B/op 0 allocs/op
--- BENCH: BenchmarkReaderDict/blockSize_300000/level_3-10
reader_timing_test.go:26: compressionRatio: 5.011033
reader_timing_test.go:26: compressionRatio: 5.011033
reader_timing_test.go:26: compressionRatio: 5.011033
BenchmarkReaderDict/blockSize_300000/level_5-10 3260 328698 ns/op 9126.92 MB/s 930 B/op 0 allocs/op
--- BENCH: BenchmarkReaderDict/blockSize_300000/level_5-10
reader_timing_test.go:26: compressionRatio: 4.541725
reader_timing_test.go:26: compressionRatio: 4.541725
reader_timing_test.go:26: compressionRatio: 4.541725
BenchmarkReaderDict/blockSize_300000/level_10-10 3864 320469 ns/op 9361.29 MB/s 784 B/op 0 allocs/op
--- BENCH: BenchmarkReaderDict/blockSize_300000/level_10-10
reader_timing_test.go:26: compressionRatio: 7.885275
reader_timing_test.go:26: compressionRatio: 7.885275
reader_timing_test.go:26: compressionRatio: 7.885275
BenchmarkReader/blockSize_1/level_3-10 23042635 53.65 ns/op 186.38 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReader/blockSize_1/level_3-10
reader_timing_test.go:66: compressionRatio: 0.526316
reader_timing_test.go:66: compressionRatio: 0.526316
reader_timing_test.go:66: compressionRatio: 0.526316
reader_timing_test.go:66: compressionRatio: 0.526316
reader_timing_test.go:66: compressionRatio: 0.526316
BenchmarkReader/blockSize_1/level_5-10 25633562 54.20 ns/op 184.51 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReader/blockSize_1/level_5-10
reader_timing_test.go:66: compressionRatio: 0.526316
reader_timing_test.go:66: compressionRatio: 0.526316
reader_timing_test.go:66: compressionRatio: 0.526316
reader_timing_test.go:66: compressionRatio: 0.526316
reader_timing_test.go:66: compressionRatio: 0.526316
BenchmarkReader/blockSize_1/level_10-10 23820788 51.20 ns/op 195.29 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReader/blockSize_1/level_10-10
reader_timing_test.go:66: compressionRatio: 0.526316
reader_timing_test.go:66: compressionRatio: 0.526316
reader_timing_test.go:66: compressionRatio: 0.526316
reader_timing_test.go:66: compressionRatio: 0.526316
reader_timing_test.go:66: compressionRatio: 0.526316
BenchmarkReader/blockSize_10/level_3-10 20729624 57.01 ns/op 1754.05 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReader/blockSize_10/level_3-10
reader_timing_test.go:66: compressionRatio: 1.639344
reader_timing_test.go:66: compressionRatio: 1.639344
reader_timing_test.go:66: compressionRatio: 1.639344
reader_timing_test.go:66: compressionRatio: 1.639344
reader_timing_test.go:66: compressionRatio: 1.639344
BenchmarkReader/blockSize_10/level_5-10 20242729 56.35 ns/op 1774.48 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReader/blockSize_10/level_5-10
reader_timing_test.go:66: compressionRatio: 1.639344
reader_timing_test.go:66: compressionRatio: 1.639344
reader_timing_test.go:66: compressionRatio: 1.639344
reader_timing_test.go:66: compressionRatio: 1.639344
reader_timing_test.go:66: compressionRatio: 1.639344
BenchmarkReader/blockSize_10/level_10-10 16717485 60.44 ns/op 1654.40 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReader/blockSize_10/level_10-10
reader_timing_test.go:66: compressionRatio: 1.639344
reader_timing_test.go:66: compressionRatio: 1.639344
reader_timing_test.go:66: compressionRatio: 1.639344
reader_timing_test.go:66: compressionRatio: 1.639344
reader_timing_test.go:66: compressionRatio: 1.639344
BenchmarkReader/blockSize_100/level_3-10 3485342 352.5 ns/op 2837.15 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReader/blockSize_100/level_3-10
reader_timing_test.go:66: compressionRatio: 4.901961
reader_timing_test.go:66: compressionRatio: 4.901961
reader_timing_test.go:66: compressionRatio: 4.901961
reader_timing_test.go:66: compressionRatio: 4.901961
reader_timing_test.go:66: compressionRatio: 4.901961
BenchmarkReader/blockSize_100/level_5-10 3554890 332.1 ns/op 3011.21 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReader/blockSize_100/level_5-10
reader_timing_test.go:66: compressionRatio: 5.000000
reader_timing_test.go:66: compressionRatio: 5.000000
reader_timing_test.go:66: compressionRatio: 5.000000
reader_timing_test.go:66: compressionRatio: 5.000000
reader_timing_test.go:66: compressionRatio: 5.000000
BenchmarkReader/blockSize_100/level_10-10 3571336 327.7 ns/op 3051.19 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReader/blockSize_100/level_10-10
reader_timing_test.go:66: compressionRatio: 5.235602
reader_timing_test.go:66: compressionRatio: 5.235602
reader_timing_test.go:66: compressionRatio: 5.235602
reader_timing_test.go:66: compressionRatio: 5.235602
reader_timing_test.go:66: compressionRatio: 5.235602
BenchmarkReader/blockSize_1000/level_3-10 837177 1265 ns/op 7907.31 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReader/blockSize_1000/level_3-10
reader_timing_test.go:66: compressionRatio: 6.365372
reader_timing_test.go:66: compressionRatio: 6.365372
reader_timing_test.go:66: compressionRatio: 6.365372
reader_timing_test.go:66: compressionRatio: 6.365372
BenchmarkReader/blockSize_1000/level_5-10 899692 1251 ns/op 7996.77 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReader/blockSize_1000/level_5-10
reader_timing_test.go:66: compressionRatio: 6.108735
reader_timing_test.go:66: compressionRatio: 6.108735
reader_timing_test.go:66: compressionRatio: 6.108735
reader_timing_test.go:66: compressionRatio: 6.108735
BenchmarkReader/blockSize_1000/level_10-10 831225 1230 ns/op 8131.49 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReader/blockSize_1000/level_10-10
reader_timing_test.go:66: compressionRatio: 7.757952
reader_timing_test.go:66: compressionRatio: 7.757952
reader_timing_test.go:66: compressionRatio: 7.757952
reader_timing_test.go:66: compressionRatio: 7.757952
BenchmarkReader/blockSize_10000/level_3-10 139456 8723 ns/op 11463.61 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReader/blockSize_10000/level_3-10
reader_timing_test.go:66: compressionRatio: 5.077431
reader_timing_test.go:66: compressionRatio: 5.077431
reader_timing_test.go:66: compressionRatio: 5.077431
reader_timing_test.go:66: compressionRatio: 5.077431
BenchmarkReader/blockSize_10000/level_5-10 113506 10105 ns/op 9896.04 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReader/blockSize_10000/level_5-10
reader_timing_test.go:66: compressionRatio: 4.663962
reader_timing_test.go:66: compressionRatio: 4.663962
reader_timing_test.go:66: compressionRatio: 4.663962
reader_timing_test.go:66: compressionRatio: 4.663962
BenchmarkReader/blockSize_10000/level_10-10 137218 8602 ns/op 11625.22 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkReader/blockSize_10000/level_10-10
reader_timing_test.go:66: compressionRatio: 7.856694
reader_timing_test.go:66: compressionRatio: 7.856694
reader_timing_test.go:66: compressionRatio: 7.856694
reader_timing_test.go:66: compressionRatio: 7.856694
BenchmarkReader/blockSize_100000/level_3-10 12800 91715 ns/op 10903.38 MB/s 83 B/op 0 allocs/op
--- BENCH: BenchmarkReader/blockSize_100000/level_3-10
reader_timing_test.go:66: compressionRatio: 4.861236
reader_timing_test.go:66: compressionRatio: 4.861236
reader_timing_test.go:66: compressionRatio: 4.861236
reader_timing_test.go:66: compressionRatio: 4.861236
BenchmarkReader/blockSize_100000/level_5-10 10000 100278 ns/op 9972.27 MB/s 106 B/op 0 allocs/op
--- BENCH: BenchmarkReader/blockSize_100000/level_5-10
reader_timing_test.go:66: compressionRatio: 4.377479
reader_timing_test.go:66: compressionRatio: 4.377479
reader_timing_test.go:66: compressionRatio: 4.377479
BenchmarkReader/blockSize_100000/level_10-10 14332 84056 ns/op 11896.86 MB/s 74 B/op 0 allocs/op
--- BENCH: BenchmarkReader/blockSize_100000/level_10-10
reader_timing_test.go:66: compressionRatio: 7.287514
reader_timing_test.go:66: compressionRatio: 7.287514
reader_timing_test.go:66: compressionRatio: 7.287514
reader_timing_test.go:66: compressionRatio: 7.287514
BenchmarkReader/blockSize_300000/level_3-10 3675 309088 ns/op 9705.97 MB/s 825 B/op 0 allocs/op
--- BENCH: BenchmarkReader/blockSize_300000/level_3-10
reader_timing_test.go:66: compressionRatio: 5.120773
reader_timing_test.go:66: compressionRatio: 5.120773
reader_timing_test.go:66: compressionRatio: 5.120773
BenchmarkReader/blockSize_300000/level_5-10 3463 322334 ns/op 9307.11 MB/s 875 B/op 0 allocs/op
--- BENCH: BenchmarkReader/blockSize_300000/level_5-10
reader_timing_test.go:66: compressionRatio: 4.541106
reader_timing_test.go:66: compressionRatio: 4.541106
reader_timing_test.go:66: compressionRatio: 4.541106
BenchmarkReader/blockSize_300000/level_10-10 4047 270410 ns/op 11094.27 MB/s 749 B/op 0 allocs/op
--- BENCH: BenchmarkReader/blockSize_300000/level_10-10
reader_timing_test.go:66: compressionRatio: 7.884487
reader_timing_test.go:66: compressionRatio: 7.884487
reader_timing_test.go:66: compressionRatio: 7.884487
BenchmarkStreamCompress/blockSize_1/level_3-10 2889586 424.7 ns/op 23.55 MB/s 0 B/op 0 allocs/op
BenchmarkStreamCompress/blockSize_1/level_5-10 2819452 424.1 ns/op 23.58 MB/s 0 B/op 0 allocs/op
BenchmarkStreamCompress/blockSize_1/level_10-10 2820154 422.2 ns/op 23.68 MB/s 0 B/op 0 allocs/op
BenchmarkStreamCompress/blockSize_10/level_3-10 2654268 442.9 ns/op 225.78 MB/s 0 B/op 0 allocs/op
BenchmarkStreamCompress/blockSize_10/level_5-10 2602590 470.7 ns/op 212.45 MB/s 0 B/op 0 allocs/op
BenchmarkStreamCompress/blockSize_10/level_10-10 2366784 526.1 ns/op 190.07 MB/s 0 B/op 0 allocs/op
BenchmarkStreamCompress/blockSize_100/level_3-10 1817143 683.7 ns/op 1462.67 MB/s 0 B/op 0 allocs/op
BenchmarkStreamCompress/blockSize_100/level_5-10 1278894 900.1 ns/op 1110.97 MB/s 0 B/op 0 allocs/op
BenchmarkStreamCompress/blockSize_100/level_10-10 383754 2747 ns/op 364.01 MB/s 0 B/op 0 allocs/op
BenchmarkStreamCompress/blockSize_1000/level_3-10 407347 3098 ns/op 3227.45 MB/s 0 B/op 0 allocs/op
BenchmarkStreamCompress/blockSize_1000/level_5-10 185925 5481 ns/op 1824.61 MB/s 0 B/op 0 allocs/op
BenchmarkStreamCompress/blockSize_1000/level_10-10 48416 24217 ns/op 412.93 MB/s 0 B/op 0 allocs/op
BenchmarkStreamCompress/blockSize_10000/level_3-10 51042 24596 ns/op 4065.71 MB/s 6 B/op 0 allocs/op
BenchmarkStreamCompress/blockSize_10000/level_5-10 22314 53906 ns/op 1855.09 MB/s 14 B/op 0 allocs/op
BenchmarkStreamCompress/blockSize_10000/level_10-10 5152 224892 ns/op 444.66 MB/s 64 B/op 1 allocs/op
BenchmarkStreamCompress/blockSize_100000/level_3-10 3258 308453 ns/op 3241.99 MB/s 840 B/op 24 allocs/op
BenchmarkStreamCompress/blockSize_100000/level_5-10 1717 599351 ns/op 1668.47 MB/s 1594 B/op 46 allocs/op
BenchmarkStreamCompress/blockSize_100000/level_10-10 451 2364156 ns/op 422.98 MB/s 6071 B/op 176 allocs/op
BenchmarkStreamCompress/blockSize_300000/level_3-10 1233 956084 ns/op 3137.80 MB/s 8324 B/op 189 allocs/op
BenchmarkStreamCompress/blockSize_300000/level_5-10 576 2096914 ns/op 1430.67 MB/s 17821 B/op 405 allocs/op
BenchmarkStreamCompress/blockSize_300000/level_10-10 139 7824053 ns/op 383.43 MB/s 73849 B/op 1679 allocs/op
BenchmarkStreamDecompress/blockSize_1/level_3-10 16257006 73.43 ns/op 136.18 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkStreamDecompress/blockSize_1/level_3-10
stream_timing_test.go:52: compressionRatio: 0.526316
stream_timing_test.go:52: compressionRatio: 0.526316
stream_timing_test.go:52: compressionRatio: 0.526316
stream_timing_test.go:52: compressionRatio: 0.526316
stream_timing_test.go:52: compressionRatio: 0.526316
stream_timing_test.go:52: compressionRatio: 0.526316
BenchmarkStreamDecompress/blockSize_1/level_5-10 18653356 57.00 ns/op 175.44 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkStreamDecompress/blockSize_1/level_5-10
stream_timing_test.go:52: compressionRatio: 0.526316
stream_timing_test.go:52: compressionRatio: 0.526316
stream_timing_test.go:52: compressionRatio: 0.526316
stream_timing_test.go:52: compressionRatio: 0.526316
stream_timing_test.go:52: compressionRatio: 0.526316
BenchmarkStreamDecompress/blockSize_1/level_10-10 20029612 57.99 ns/op 172.43 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkStreamDecompress/blockSize_1/level_10-10
stream_timing_test.go:52: compressionRatio: 0.526316
stream_timing_test.go:52: compressionRatio: 0.526316
stream_timing_test.go:52: compressionRatio: 0.526316
stream_timing_test.go:52: compressionRatio: 0.526316
stream_timing_test.go:52: compressionRatio: 0.526316
BenchmarkStreamDecompress/blockSize_10/level_3-10 18178581 62.92 ns/op 1589.25 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkStreamDecompress/blockSize_10/level_3-10
stream_timing_test.go:52: compressionRatio: 1.639344
stream_timing_test.go:52: compressionRatio: 1.639344
stream_timing_test.go:52: compressionRatio: 1.639344
stream_timing_test.go:52: compressionRatio: 1.639344
stream_timing_test.go:52: compressionRatio: 1.639344
BenchmarkStreamDecompress/blockSize_10/level_5-10 14231569 75.10 ns/op 1331.63 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkStreamDecompress/blockSize_10/level_5-10
stream_timing_test.go:52: compressionRatio: 1.639344
stream_timing_test.go:52: compressionRatio: 1.639344
stream_timing_test.go:52: compressionRatio: 1.639344
stream_timing_test.go:52: compressionRatio: 1.639344
stream_timing_test.go:52: compressionRatio: 1.639344
BenchmarkStreamDecompress/blockSize_10/level_10-10 20242615 62.79 ns/op 1592.65 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkStreamDecompress/blockSize_10/level_10-10
stream_timing_test.go:52: compressionRatio: 1.639344
stream_timing_test.go:52: compressionRatio: 1.639344
stream_timing_test.go:52: compressionRatio: 1.639344
stream_timing_test.go:52: compressionRatio: 1.639344
stream_timing_test.go:52: compressionRatio: 1.639344
BenchmarkStreamDecompress/blockSize_100/level_3-10 3486961 342.8 ns/op 2917.30 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkStreamDecompress/blockSize_100/level_3-10
stream_timing_test.go:52: compressionRatio: 4.901961
stream_timing_test.go:52: compressionRatio: 4.901961
stream_timing_test.go:52: compressionRatio: 4.901961
stream_timing_test.go:52: compressionRatio: 4.901961
stream_timing_test.go:52: compressionRatio: 4.901961
BenchmarkStreamDecompress/blockSize_100/level_5-10 3367322 356.3 ns/op 2806.36 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkStreamDecompress/blockSize_100/level_5-10
stream_timing_test.go:52: compressionRatio: 5.000000
stream_timing_test.go:52: compressionRatio: 5.000000
stream_timing_test.go:52: compressionRatio: 5.000000
stream_timing_test.go:52: compressionRatio: 5.000000
stream_timing_test.go:52: compressionRatio: 5.000000
BenchmarkStreamDecompress/blockSize_100/level_10-10 3508026 331.8 ns/op 3014.15 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkStreamDecompress/blockSize_100/level_10-10
stream_timing_test.go:52: compressionRatio: 5.235602
stream_timing_test.go:52: compressionRatio: 5.235602
stream_timing_test.go:52: compressionRatio: 5.235602
stream_timing_test.go:52: compressionRatio: 5.235602
stream_timing_test.go:52: compressionRatio: 5.235602
BenchmarkStreamDecompress/blockSize_1000/level_3-10 890810 1248 ns/op 8015.78 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkStreamDecompress/blockSize_1000/level_3-10
stream_timing_test.go:52: compressionRatio: 6.365372
stream_timing_test.go:52: compressionRatio: 6.365372
stream_timing_test.go:52: compressionRatio: 6.365372
stream_timing_test.go:52: compressionRatio: 6.365372
BenchmarkStreamDecompress/blockSize_1000/level_5-10 898172 1248 ns/op 8011.39 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkStreamDecompress/blockSize_1000/level_5-10
stream_timing_test.go:52: compressionRatio: 6.108735
stream_timing_test.go:52: compressionRatio: 6.108735
stream_timing_test.go:52: compressionRatio: 6.108735
stream_timing_test.go:52: compressionRatio: 6.108735
BenchmarkStreamDecompress/blockSize_1000/level_10-10 881431 1230 ns/op 8128.91 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkStreamDecompress/blockSize_1000/level_10-10
stream_timing_test.go:52: compressionRatio: 7.757952
stream_timing_test.go:52: compressionRatio: 7.757952
stream_timing_test.go:52: compressionRatio: 7.757952
stream_timing_test.go:52: compressionRatio: 7.757952
BenchmarkStreamDecompress/blockSize_10000/level_3-10 143467 8443 ns/op 11844.40 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkStreamDecompress/blockSize_10000/level_3-10
stream_timing_test.go:52: compressionRatio: 5.077431
stream_timing_test.go:52: compressionRatio: 5.077431
stream_timing_test.go:52: compressionRatio: 5.077431
stream_timing_test.go:52: compressionRatio: 5.077431
BenchmarkStreamDecompress/blockSize_10000/level_5-10 120232 9885 ns/op 10115.92 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkStreamDecompress/blockSize_10000/level_5-10
stream_timing_test.go:52: compressionRatio: 4.663962
stream_timing_test.go:52: compressionRatio: 4.663962
stream_timing_test.go:52: compressionRatio: 4.663962
stream_timing_test.go:52: compressionRatio: 4.663962
BenchmarkStreamDecompress/blockSize_10000/level_10-10 142995 8385 ns/op 11925.78 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkStreamDecompress/blockSize_10000/level_10-10
stream_timing_test.go:52: compressionRatio: 7.856694
stream_timing_test.go:52: compressionRatio: 7.856694
stream_timing_test.go:52: compressionRatio: 7.856694
stream_timing_test.go:52: compressionRatio: 7.856694
BenchmarkStreamDecompress/blockSize_100000/level_3-10 13494 88476 ns/op 11302.50 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkStreamDecompress/blockSize_100000/level_3-10
stream_timing_test.go:52: compressionRatio: 4.861236
stream_timing_test.go:52: compressionRatio: 4.861236
stream_timing_test.go:52: compressionRatio: 4.861236
stream_timing_test.go:52: compressionRatio: 4.861236
BenchmarkStreamDecompress/blockSize_100000/level_5-10 12208 98714 ns/op 10130.33 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkStreamDecompress/blockSize_100000/level_5-10
stream_timing_test.go:52: compressionRatio: 4.377479
stream_timing_test.go:52: compressionRatio: 4.377479
stream_timing_test.go:52: compressionRatio: 4.377479
stream_timing_test.go:52: compressionRatio: 4.377479
BenchmarkStreamDecompress/blockSize_100000/level_10-10 14788 81919 ns/op 12207.25 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkStreamDecompress/blockSize_100000/level_10-10
stream_timing_test.go:52: compressionRatio: 7.287514
stream_timing_test.go:52: compressionRatio: 7.287514
stream_timing_test.go:52: compressionRatio: 7.287514
stream_timing_test.go:52: compressionRatio: 7.287514
BenchmarkStreamDecompress/blockSize_300000/level_3-10 3852 297917 ns/op 10069.92 MB/s 1 B/op 0 allocs/op
--- BENCH: BenchmarkStreamDecompress/blockSize_300000/level_3-10
stream_timing_test.go:52: compressionRatio: 5.120773
stream_timing_test.go:52: compressionRatio: 5.120773
stream_timing_test.go:52: compressionRatio: 5.120773
BenchmarkStreamDecompress/blockSize_300000/level_5-10 3661 312114 ns/op 9611.89 MB/s 1 B/op 0 allocs/op
--- BENCH: BenchmarkStreamDecompress/blockSize_300000/level_5-10
stream_timing_test.go:52: compressionRatio: 4.541106
stream_timing_test.go:52: compressionRatio: 4.541106
stream_timing_test.go:52: compressionRatio: 4.541106
BenchmarkStreamDecompress/blockSize_300000/level_10-10 4317 258572 ns/op 11602.21 MB/s 0 B/op 0 allocs/op
--- BENCH: BenchmarkStreamDecompress/blockSize_300000/level_10-10
stream_timing_test.go:52: compressionRatio: 7.884487
stream_timing_test.go:52: compressionRatio: 7.884487
stream_timing_test.go:52: compressionRatio: 7.884487
BenchmarkWriterDict/blockSize_1/level_3-10 7927100 144.4 ns/op 69.26 MB/s 0 B/op 0 allocs/op
BenchmarkWriterDict/blockSize_1/level_5-10 7985953 154.5 ns/op 64.72 MB/s 0 B/op 0 allocs/op
BenchmarkWriterDict/blockSize_1/level_10-10 7796808 154.0 ns/op 64.92 MB/s 0 B/op 0 allocs/op
BenchmarkWriterDict/blockSize_10/level_3-10 7644572 142.8 ns/op 700.28 MB/s 0 B/op 0 allocs/op
BenchmarkWriterDict/blockSize_10/level_5-10 7367595 167.1 ns/op 598.42 MB/s 0 B/op 0 allocs/op
BenchmarkWriterDict/blockSize_10/level_10-10 8424121 142.7 ns/op 700.64 MB/s 0 B/op 0 allocs/op
BenchmarkWriterDict/blockSize_100/level_3-10 4133379 284.6 ns/op 3514.18 MB/s 0 B/op 0 allocs/op
BenchmarkWriterDict/blockSize_100/level_5-10 1386415 882.7 ns/op 1132.95 MB/s 0 B/op 0 allocs/op
BenchmarkWriterDict/blockSize_100/level_10-10 703848 1645 ns/op 607.95 MB/s 0 B/op 0 allocs/op
BenchmarkWriterDict/blockSize_1000/level_3-10 397977 2871 ns/op 3483.67 MB/s 0 B/op 0 allocs/op
BenchmarkWriterDict/blockSize_1000/level_5-10 173742 7086 ns/op 1411.17 MB/s 0 B/op 0 allocs/op
BenchmarkWriterDict/blockSize_1000/level_10-10 71529 16614 ns/op 601.89 MB/s 0 B/op 0 allocs/op
BenchmarkWriterDict/blockSize_10000/level_3-10 48283 24529 ns/op 4076.87 MB/s 6 B/op 0 allocs/op
BenchmarkWriterDict/blockSize_10000/level_5-10 17950 66624 ns/op 1500.97 MB/s 18 B/op 0 allocs/op
BenchmarkWriterDict/blockSize_10000/level_10-10 8116 134024 ns/op 746.14 MB/s 40 B/op 0 allocs/op
BenchmarkWriterDict/blockSize_100000/level_3-10 4909 243975 ns/op 4098.77 MB/s 557 B/op 16 allocs/op
BenchmarkWriterDict/blockSize_100000/level_5-10 2017 588288 ns/op 1699.85 MB/s 1356 B/op 39 allocs/op
BenchmarkWriterDict/blockSize_100000/level_10-10 949 1163005 ns/op 859.84 MB/s 2884 B/op 83 allocs/op
BenchmarkWriterDict/blockSize_300000/level_3-10 1687 708039 ns/op 4237.05 MB/s 6083 B/op 138 allocs/op
BenchmarkWriterDict/blockSize_300000/level_5-10 698 1712456 ns/op 1751.87 MB/s 14702 B/op 334 allocs/op
BenchmarkWriterDict/blockSize_300000/level_10-10 283 3572364 ns/op 839.78 MB/s 36261 B/op 824 allocs/op
BenchmarkWriter/blockSize_1/level_3-10 15777345 76.70 ns/op 130.37 MB/s 0 B/op 0 allocs/op
BenchmarkWriter/blockSize_1/level_5-10 15647997 74.53 ns/op 134.18 MB/s 0 B/op 0 allocs/op
BenchmarkWriter/blockSize_1/level_10-10 14526313 75.32 ns/op 132.76 MB/s 0 B/op 0 allocs/op
BenchmarkWriter/blockSize_10/level_3-10 7978782 154.3 ns/op 648.25 MB/s 0 B/op 0 allocs/op
BenchmarkWriter/blockSize_10/level_5-10 6936434 178.8 ns/op 559.19 MB/s 0 B/op 0 allocs/op
BenchmarkWriter/blockSize_10/level_10-10 3876721 310.8 ns/op 321.78 MB/s 0 B/op 0 allocs/op
BenchmarkWriter/blockSize_100/level_3-10 2114316 569.0 ns/op 1757.39 MB/s 0 B/op 0 allocs/op
BenchmarkWriter/blockSize_100/level_5-10 1454342 819.7 ns/op 1219.88 MB/s 0 B/op 0 allocs/op
BenchmarkWriter/blockSize_100/level_10-10 488662 2456 ns/op 407.24 MB/s 0 B/op 0 allocs/op
BenchmarkWriter/blockSize_1000/level_3-10 423304 2817 ns/op 3550.05 MB/s 0 B/op 0 allocs/op
BenchmarkWriter/blockSize_1000/level_5-10 219763 5399 ns/op 1852.35 MB/s 0 B/op 0 allocs/op
BenchmarkWriter/blockSize_1000/level_10-10 49176 23940 ns/op 417.70 MB/s 0 B/op 0 allocs/op
BenchmarkWriter/blockSize_10000/level_3-10 50480 23386 ns/op 4275.98 MB/s 6 B/op 0 allocs/op
BenchmarkWriter/blockSize_10000/level_5-10 22537 53274 ns/op 1877.07 MB/s 14 B/op 0 allocs/op
BenchmarkWriter/blockSize_10000/level_10-10 5335 227806 ns/op 438.97 MB/s 61 B/op 1 allocs/op
BenchmarkWriter/blockSize_100000/level_3-10 3332 323377 ns/op 3092.37 MB/s 821 B/op 23 allocs/op
BenchmarkWriter/blockSize_100000/level_5-10 1768 599898 ns/op 1666.95 MB/s 1548 B/op 45 allocs/op
BenchmarkWriter/blockSize_100000/level_10-10 441 2369386 ns/op 422.05 MB/s 6206 B/op 180 allocs/op
BenchmarkWriter/blockSize_300000/level_3-10 1250 964178 ns/op 3111.46 MB/s 8209 B/op 186 allocs/op
BenchmarkWriter/blockSize_300000/level_5-10 478 2330214 ns/op 1287.44 MB/s 21469 B/op 488 allocs/op
BenchmarkWriter/blockSize_300000/level_10-10 135 7740833 ns/op 387.56 MB/s 76015 B/op 1729 allocs/op
BenchmarkWriterResetAlloc-10 5864778 204.4 ns/op 0 B/op 0 allocs/op
PASS
ok github.com/valyala/gozstd 365.005s
@valyala: You seem to have been busy with bigger things, so sorry to bug you with yet another PR!
Have you thought about roping in another maintainer to help field changes? Do you still want contributions for missing surface area with the main zstd features? Are there any goals you'd like to see the lib accomplish, or is it pretty much "complete" for the use-cases you/@VictoriaMetrics have?
@valyala: Is there interest in these kind of contributions? I'd prefer to not do an internal fork, but there are some capabilities missing here when compared to the upstream lib.
Happy to make changes to the PR however you see fit if you have other implementation preferences.