Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dicts: Add option to use the *_byReference variants at creation time #60

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

coxley
Copy link

@coxley coxley commented Apr 18, 2024

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)
  • 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_test benchmarks
  • 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
                                                                                                                                                                        

Makefile Outdated
@@ -82,7 +82,7 @@ update-zstd:
cp zstd/lib/zstd_errors.h .

test:
CGO_ENABLED=1 GODEBUG=cgocheck=2 go test -v
CGO_ENABLED=1 GOEXPERIMENT=cgocheck2 go test -v
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Recent go toolchains error on this so had to fix:

fatal error: cgocheck > 1 mode is no longer supported at runtime. Use GOEXPERIMENT=cgocheck2 at build time instead.

@coxley
Copy link
Author

coxley commented Apr 19, 2024

@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?

@coxley
Copy link
Author

coxley commented May 28, 2024

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant