Skip to content

Fix+reduce allocations #668

New issue

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

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

Already on GitHub? # to your account

Merged
merged 1 commit into from
Sep 25, 2022
Merged

Fix+reduce allocations #668

merged 1 commit into from
Sep 25, 2022

Conversation

klauspost
Copy link
Owner

Adds WithDecodeBuffersBelow to tweak buffer switch-over.

Fixes #666 and generally reduces Reader allocations.

Adds `WithDecodeBuffersBelow` to tweak buffer switch-over.

Fixes #666 and generally reduces Reader allocations.
@klauspost klauspost merged commit 3690e90 into master Sep 25, 2022
@klauspost klauspost deleted the fix-reader-short-circuit branch September 25, 2022 08:37
owen-d pushed a commit to grafana/loki that referenced this pull request Sep 27, 2022
**What this PR does / why we need it**:

Bring in various improvements from upstream, particularly
klauspost/compress#668

**Checklist**
- [x] Reviewed the `CONTRIBUTING.md` guide
- NA Documentation added
- NA Tests updated
- [x] `CHANGELOG.md` updated
- NA Changes that require user attention or interaction to upgrade are
documented in `docs/sources/upgrading/_index.md`

**Benchmarks**

(using changes from #7246, ignoring lines that didn't change much)

```
name                           old time/op      new time/op      delta
Write/ordered-flate-4              81.5ms ± 5%      78.7ms ± 2%    -3.39%  (p=0.016 n=5+5)
Read/none_66_kB-4                  4.16ms ± 6%      3.93ms ± 4%    -5.51%  (p=0.032 n=5+5)
Read/flate_66_kB-4                  168ms ± 4%       179ms ±11%    +6.50%  (p=0.032 n=5+5)
Read/zstd_66_kB-4                   334ms ±16%       152ms ± 3%   -54.57%  (p=0.008 n=5+5)
Read/none_262_kB-4                 3.93ms ± 1%      3.81ms ± 2%    -2.91%  (p=0.008 n=5+5)
Read/zstd_262_kB-4                  369ms ± 8%       131ms ± 1%   -64.62%  (p=0.008 n=5+5)
Read/zstd_524_kB-4                  466ms ±17%       146ms ± 2%   -68.68%  (p=0.008 n=5+5)
Read/sample_zstd_66_kB-4            420ms ±18%       224ms ± 1%   -46.69%  (p=0.016 n=5+4)
Read/sample_gzip_262_kB-4           214ms ± 1%       218ms ± 1%    +1.90%  (p=0.016 n=5+5)
Read/sample_zstd_262_kB-4           418ms ±21%       200ms ± 2%   -52.15%  (p=0.016 n=5+4)
Read/sample_zstd_524_kB-4           576ms ±35%       234ms ± 1%   -59.42%  (p=0.008 n=5+5)

name                           old speed        new speed        delta
Write/ordered-gzip-4              267MB/s ±10%     284MB/s ± 2%    +6.51%  (p=0.008 n=5+5)
Write/ordered-flate-4             274MB/s ± 4%     291MB/s ± 2%    +6.49%  (p=0.008 n=5+5)
Read/none_66_kB-4                1.82GB/s ± 6%    1.92GB/s ± 4%    +5.78%  (p=0.032 n=5+5)
Read/gzip_66_kB-4                 669MB/s ± 4%     698MB/s ± 1%    +4.30%  (p=0.008 n=5+5)
Read/zstd_66_kB-4                 425MB/s ±14%     930MB/s ± 3%  +119.12%  (p=0.008 n=5+5)
Read/none_262_kB-4               1.93GB/s ± 1%    1.99GB/s ± 2%    +3.00%  (p=0.008 n=5+5)
Read/gzip_262_kB-4                701MB/s ± 5%     721MB/s ± 2%    +2.96%  (p=0.032 n=5+5)
Read/zstd_262_kB-4                357MB/s ± 8%    1009MB/s ± 1%  +182.89%  (p=0.008 n=5+5)
Read/flate_524_kB-4               750MB/s ± 1%     763MB/s ± 1%    +1.74%  (p=0.008 n=5+5)
Read/zstd_524_kB-4                365MB/s ±18%    1149MB/s ± 2%  +215.34%  (p=0.008 n=5+5)
Read/sample_zstd_66_kB-4          341MB/s ±17%     616MB/s ± 9%   +80.67%  (p=0.008 n=5+5)
Read/sample_zstd_262_kB-4         318MB/s ±18%     658MB/s ± 2%  +107.08%  (p=0.016 n=5+4)
Read/sample_gzip_524_kB-4         521MB/s ± 1%     530MB/s ± 1%    +1.72%  (p=0.032 n=5+5)
Read/sample_zstd_524_kB-4         299MB/s ±28%     718MB/s ± 1%  +140.23%  (p=0.008 n=5+5)

name                           old %compressed  new %compressed  delta
Write/ordered-gzip-4                 6.89 ± 0%        6.73 ± 0%    -2.32%  (p=0.000 n=5+4)
Write/ordered-flate-4                6.89 ± 0%        6.69 ± 0%    -2.84%  (p=0.008 n=5+5)
Write/ordered-zstd-4                 6.17 ± 0%        6.16 ± 0%    -0.02%  (p=0.008 n=5+5)
Write/unordered-gzip-4               6.89 ± 0%        6.73 ± 0%    -2.32%  (p=0.008 n=5+5)
Write/unordered-flate-4              6.89 ± 0%        6.70 ± 0%    -2.81%  (p=0.000 n=4+5)
Write/unordered-zstd-4               6.17 ± 0%        6.16 ± 0%    -0.02%  (p=0.008 n=5+5)

name                           old alloc/op     new alloc/op     delta
Write/unordered-lz4-4              18.8MB ± 4%      17.8MB ± 1%    -5.28%  (p=0.008 n=5+5)
Read/gzip_66_kB-4                   713kB ± 0%       735kB ± 1%    +2.99%  (p=0.008 n=5+5)
Read/flate_66_kB-4                  715kB ± 0%       733kB ± 0%    +2.57%  (p=0.008 n=5+5)
Read/zstd_66_kB-4                   423MB ± 0%         1MB ± 0%   -99.65%  (p=0.016 n=5+4)
Read/gzip_262_kB-4                  198kB ± 0%       204kB ± 0%    +3.07%  (p=0.016 n=4+5)
Read/lz4-64k_262_kB-4               169kB ± 0%       169kB ± 0%    -0.07%  (p=0.000 n=5+4)
Read/flate_262_kB-4                 197kB ± 0%       205kB ± 0%    +3.77%  (p=0.008 n=5+5)
Read/zstd_262_kB-4                  553MB ± 0%         0MB ± 0%   -99.92%  (p=0.016 n=5+4)
Read/gzip_524_kB-4                 96.2kB ± 0%      98.8kB ± 0%    +2.71%  (p=0.016 n=4+5)
Read/flate_524_kB-4                95.4kB ± 0%      98.7kB ± 0%    +3.46%  (p=0.008 n=5+5)
Read/zstd_524_kB-4                  786MB ± 0%         1MB ± 6%   -99.93%  (p=0.008 n=5+5)
Read/sample_gzip_66_kB-4            686kB ± 0%       703kB ± 0%    +2.48%  (p=0.029 n=4+4)
Read/sample_flate_66_kB-4           688kB ± 0%       710kB ± 1%    +3.08%  (p=0.016 n=4+5)
Read/sample_zstd_66_kB-4            423MB ± 0%         2MB ± 0%   -99.59%  (p=0.016 n=5+4)
Read/sample_gzip_262_kB-4           194kB ± 0%       200kB ± 0%    +3.10%  (p=0.016 n=4+5)
Read/sample_flate_262_kB-4          194kB ± 0%       201kB ± 0%    +3.77%  (p=0.016 n=4+5)
Read/sample_zstd_262_kB-4           553MB ± 0%         0MB ± 0%   -99.91%  (p=0.016 n=5+4)
Read/sample_gzip_524_kB-4          95.4kB ± 0%      97.9kB ± 0%    +2.65%  (p=0.008 n=5+5)
Read/sample_flate_524_kB-4         95.2kB ± 0%      98.8kB ± 0%    +3.71%  (p=0.016 n=5+4)
Read/sample_zstd_524_kB-4           786MB ± 0%         1MB ± 0%   -99.90%  (p=0.008 n=5+5)

name                           old allocs/op    new allocs/op    delta
Write/ordered-gzip-4                  701 ± 0%         718 ± 1%    +2.40%  (p=0.008 n=5+5)
Write/ordered-lz4-256k-4              656 ± 0%         657 ± 0%    +0.21%  (p=0.048 n=5+5)
Write/ordered-flate-4                 626 ± 0%         634 ± 1%    +1.37%  (p=0.008 n=5+5)
Write/ordered-zstd-4                2.07k ± 0%       1.44k ± 0%   -30.49%  (p=0.008 n=5+5)
Write/unordered-gzip-4               418k ± 0%        428k ± 0%    +2.39%  (p=0.008 n=5+5)
Write/unordered-flate-4              418k ± 0%        430k ± 0%    +2.89%  (p=0.008 n=5+5)
Write/unordered-zstd-4               469k ± 0%        468k ± 0%    -0.12%  (p=0.008 n=5+5)
Read/gzip_66_kB-4                   13.2k ± 0%       13.5k ± 0%    +2.54%  (p=0.016 n=5+4)
Read/lz4-256k_66_kB-4               13.7k ± 0%       13.7k ± 0%    -0.01%  (p=0.029 n=4+4)
Read/flate_66_kB-4                  13.2k ± 0%       13.6k ± 0%    +2.72%  (p=0.008 n=5+5)
Read/zstd_66_kB-4                   18.0k ± 1%       10.8k ± 0%   -40.19%  (p=0.008 n=5+5)
Read/gzip_262_kB-4                  4.61k ± 0%       4.76k ± 0%    +3.17%  (p=0.016 n=4+5)
Read/flate_262_kB-4                 4.61k ± 0%       4.78k ± 0%    +3.62%  (p=0.008 n=5+5)
Read/zstd_262_kB-4                  7.10k ± 2%       2.54k ± 0%   -64.22%  (p=0.016 n=5+4)
Read/gzip_524_kB-4                  2.62k ± 0%       2.69k ± 0%    +2.36%  (p=0.016 n=4+5)
Read/flate_524_kB-4                 2.62k ± 0%       2.70k ± 0%    +3.09%  (p=0.008 n=5+5)
Read/zstd_524_kB-4                  6.13k ± 2%       1.63k ± 0%   -73.40%  (p=0.008 n=5+5)
Read/sample_gzip_66_kB-4            13.2k ± 0%       13.5k ± 0%    +2.54%  (p=0.029 n=4+4)
Read/sample_flate_66_kB-4           13.2k ± 0%       13.6k ± 0%    +2.88%  (p=0.016 n=4+5)
Read/sample_zstd_66_kB-4            18.0k ± 1%       10.8k ± 0%   -40.00%  (p=0.008 n=5+5)
Read/sample_gzip_262_kB-4           4.63k ± 0%       4.77k ± 0%    +3.16%  (p=0.016 n=4+5)
Read/sample_flate_262_kB-4          4.62k ± 0%       4.79k ± 0%    +3.61%  (p=0.016 n=4+5)
Read/sample_zstd_262_kB-4           7.12k ± 1%       2.54k ± 0%   -64.28%  (p=0.008 n=5+5)
Read/sample_gzip_524_kB-4           2.63k ± 0%       2.69k ± 0%    +2.36%  (p=0.008 n=5+5)
Read/sample_flate_524_kB-4          2.63k ± 0%       2.72k ± 0%    +3.31%  (p=0.016 n=5+4)
Read/sample_zstd_524_kB-4           6.11k ± 2%       1.64k ± 0%   -73.23%  (p=0.008 n=5+5)
```
lxwzy pushed a commit to lxwzy/loki that referenced this pull request Nov 7, 2022
**What this PR does / why we need it**:

Bring in various improvements from upstream, particularly
klauspost/compress#668

**Checklist**
- [x] Reviewed the `CONTRIBUTING.md` guide
- NA Documentation added
- NA Tests updated
- [x] `CHANGELOG.md` updated
- NA Changes that require user attention or interaction to upgrade are
documented in `docs/sources/upgrading/_index.md`

**Benchmarks**

(using changes from grafana#7246, ignoring lines that didn't change much)

```
name                           old time/op      new time/op      delta
Write/ordered-flate-4              81.5ms ± 5%      78.7ms ± 2%    -3.39%  (p=0.016 n=5+5)
Read/none_66_kB-4                  4.16ms ± 6%      3.93ms ± 4%    -5.51%  (p=0.032 n=5+5)
Read/flate_66_kB-4                  168ms ± 4%       179ms ±11%    +6.50%  (p=0.032 n=5+5)
Read/zstd_66_kB-4                   334ms ±16%       152ms ± 3%   -54.57%  (p=0.008 n=5+5)
Read/none_262_kB-4                 3.93ms ± 1%      3.81ms ± 2%    -2.91%  (p=0.008 n=5+5)
Read/zstd_262_kB-4                  369ms ± 8%       131ms ± 1%   -64.62%  (p=0.008 n=5+5)
Read/zstd_524_kB-4                  466ms ±17%       146ms ± 2%   -68.68%  (p=0.008 n=5+5)
Read/sample_zstd_66_kB-4            420ms ±18%       224ms ± 1%   -46.69%  (p=0.016 n=5+4)
Read/sample_gzip_262_kB-4           214ms ± 1%       218ms ± 1%    +1.90%  (p=0.016 n=5+5)
Read/sample_zstd_262_kB-4           418ms ±21%       200ms ± 2%   -52.15%  (p=0.016 n=5+4)
Read/sample_zstd_524_kB-4           576ms ±35%       234ms ± 1%   -59.42%  (p=0.008 n=5+5)

name                           old speed        new speed        delta
Write/ordered-gzip-4              267MB/s ±10%     284MB/s ± 2%    +6.51%  (p=0.008 n=5+5)
Write/ordered-flate-4             274MB/s ± 4%     291MB/s ± 2%    +6.49%  (p=0.008 n=5+5)
Read/none_66_kB-4                1.82GB/s ± 6%    1.92GB/s ± 4%    +5.78%  (p=0.032 n=5+5)
Read/gzip_66_kB-4                 669MB/s ± 4%     698MB/s ± 1%    +4.30%  (p=0.008 n=5+5)
Read/zstd_66_kB-4                 425MB/s ±14%     930MB/s ± 3%  +119.12%  (p=0.008 n=5+5)
Read/none_262_kB-4               1.93GB/s ± 1%    1.99GB/s ± 2%    +3.00%  (p=0.008 n=5+5)
Read/gzip_262_kB-4                701MB/s ± 5%     721MB/s ± 2%    +2.96%  (p=0.032 n=5+5)
Read/zstd_262_kB-4                357MB/s ± 8%    1009MB/s ± 1%  +182.89%  (p=0.008 n=5+5)
Read/flate_524_kB-4               750MB/s ± 1%     763MB/s ± 1%    +1.74%  (p=0.008 n=5+5)
Read/zstd_524_kB-4                365MB/s ±18%    1149MB/s ± 2%  +215.34%  (p=0.008 n=5+5)
Read/sample_zstd_66_kB-4          341MB/s ±17%     616MB/s ± 9%   +80.67%  (p=0.008 n=5+5)
Read/sample_zstd_262_kB-4         318MB/s ±18%     658MB/s ± 2%  +107.08%  (p=0.016 n=5+4)
Read/sample_gzip_524_kB-4         521MB/s ± 1%     530MB/s ± 1%    +1.72%  (p=0.032 n=5+5)
Read/sample_zstd_524_kB-4         299MB/s ±28%     718MB/s ± 1%  +140.23%  (p=0.008 n=5+5)

name                           old %compressed  new %compressed  delta
Write/ordered-gzip-4                 6.89 ± 0%        6.73 ± 0%    -2.32%  (p=0.000 n=5+4)
Write/ordered-flate-4                6.89 ± 0%        6.69 ± 0%    -2.84%  (p=0.008 n=5+5)
Write/ordered-zstd-4                 6.17 ± 0%        6.16 ± 0%    -0.02%  (p=0.008 n=5+5)
Write/unordered-gzip-4               6.89 ± 0%        6.73 ± 0%    -2.32%  (p=0.008 n=5+5)
Write/unordered-flate-4              6.89 ± 0%        6.70 ± 0%    -2.81%  (p=0.000 n=4+5)
Write/unordered-zstd-4               6.17 ± 0%        6.16 ± 0%    -0.02%  (p=0.008 n=5+5)

name                           old alloc/op     new alloc/op     delta
Write/unordered-lz4-4              18.8MB ± 4%      17.8MB ± 1%    -5.28%  (p=0.008 n=5+5)
Read/gzip_66_kB-4                   713kB ± 0%       735kB ± 1%    +2.99%  (p=0.008 n=5+5)
Read/flate_66_kB-4                  715kB ± 0%       733kB ± 0%    +2.57%  (p=0.008 n=5+5)
Read/zstd_66_kB-4                   423MB ± 0%         1MB ± 0%   -99.65%  (p=0.016 n=5+4)
Read/gzip_262_kB-4                  198kB ± 0%       204kB ± 0%    +3.07%  (p=0.016 n=4+5)
Read/lz4-64k_262_kB-4               169kB ± 0%       169kB ± 0%    -0.07%  (p=0.000 n=5+4)
Read/flate_262_kB-4                 197kB ± 0%       205kB ± 0%    +3.77%  (p=0.008 n=5+5)
Read/zstd_262_kB-4                  553MB ± 0%         0MB ± 0%   -99.92%  (p=0.016 n=5+4)
Read/gzip_524_kB-4                 96.2kB ± 0%      98.8kB ± 0%    +2.71%  (p=0.016 n=4+5)
Read/flate_524_kB-4                95.4kB ± 0%      98.7kB ± 0%    +3.46%  (p=0.008 n=5+5)
Read/zstd_524_kB-4                  786MB ± 0%         1MB ± 6%   -99.93%  (p=0.008 n=5+5)
Read/sample_gzip_66_kB-4            686kB ± 0%       703kB ± 0%    +2.48%  (p=0.029 n=4+4)
Read/sample_flate_66_kB-4           688kB ± 0%       710kB ± 1%    +3.08%  (p=0.016 n=4+5)
Read/sample_zstd_66_kB-4            423MB ± 0%         2MB ± 0%   -99.59%  (p=0.016 n=5+4)
Read/sample_gzip_262_kB-4           194kB ± 0%       200kB ± 0%    +3.10%  (p=0.016 n=4+5)
Read/sample_flate_262_kB-4          194kB ± 0%       201kB ± 0%    +3.77%  (p=0.016 n=4+5)
Read/sample_zstd_262_kB-4           553MB ± 0%         0MB ± 0%   -99.91%  (p=0.016 n=5+4)
Read/sample_gzip_524_kB-4          95.4kB ± 0%      97.9kB ± 0%    +2.65%  (p=0.008 n=5+5)
Read/sample_flate_524_kB-4         95.2kB ± 0%      98.8kB ± 0%    +3.71%  (p=0.016 n=5+4)
Read/sample_zstd_524_kB-4           786MB ± 0%         1MB ± 0%   -99.90%  (p=0.008 n=5+5)

name                           old allocs/op    new allocs/op    delta
Write/ordered-gzip-4                  701 ± 0%         718 ± 1%    +2.40%  (p=0.008 n=5+5)
Write/ordered-lz4-256k-4              656 ± 0%         657 ± 0%    +0.21%  (p=0.048 n=5+5)
Write/ordered-flate-4                 626 ± 0%         634 ± 1%    +1.37%  (p=0.008 n=5+5)
Write/ordered-zstd-4                2.07k ± 0%       1.44k ± 0%   -30.49%  (p=0.008 n=5+5)
Write/unordered-gzip-4               418k ± 0%        428k ± 0%    +2.39%  (p=0.008 n=5+5)
Write/unordered-flate-4              418k ± 0%        430k ± 0%    +2.89%  (p=0.008 n=5+5)
Write/unordered-zstd-4               469k ± 0%        468k ± 0%    -0.12%  (p=0.008 n=5+5)
Read/gzip_66_kB-4                   13.2k ± 0%       13.5k ± 0%    +2.54%  (p=0.016 n=5+4)
Read/lz4-256k_66_kB-4               13.7k ± 0%       13.7k ± 0%    -0.01%  (p=0.029 n=4+4)
Read/flate_66_kB-4                  13.2k ± 0%       13.6k ± 0%    +2.72%  (p=0.008 n=5+5)
Read/zstd_66_kB-4                   18.0k ± 1%       10.8k ± 0%   -40.19%  (p=0.008 n=5+5)
Read/gzip_262_kB-4                  4.61k ± 0%       4.76k ± 0%    +3.17%  (p=0.016 n=4+5)
Read/flate_262_kB-4                 4.61k ± 0%       4.78k ± 0%    +3.62%  (p=0.008 n=5+5)
Read/zstd_262_kB-4                  7.10k ± 2%       2.54k ± 0%   -64.22%  (p=0.016 n=5+4)
Read/gzip_524_kB-4                  2.62k ± 0%       2.69k ± 0%    +2.36%  (p=0.016 n=4+5)
Read/flate_524_kB-4                 2.62k ± 0%       2.70k ± 0%    +3.09%  (p=0.008 n=5+5)
Read/zstd_524_kB-4                  6.13k ± 2%       1.63k ± 0%   -73.40%  (p=0.008 n=5+5)
Read/sample_gzip_66_kB-4            13.2k ± 0%       13.5k ± 0%    +2.54%  (p=0.029 n=4+4)
Read/sample_flate_66_kB-4           13.2k ± 0%       13.6k ± 0%    +2.88%  (p=0.016 n=4+5)
Read/sample_zstd_66_kB-4            18.0k ± 1%       10.8k ± 0%   -40.00%  (p=0.008 n=5+5)
Read/sample_gzip_262_kB-4           4.63k ± 0%       4.77k ± 0%    +3.16%  (p=0.016 n=4+5)
Read/sample_flate_262_kB-4          4.62k ± 0%       4.79k ± 0%    +3.61%  (p=0.016 n=4+5)
Read/sample_zstd_262_kB-4           7.12k ± 1%       2.54k ± 0%   -64.28%  (p=0.008 n=5+5)
Read/sample_gzip_524_kB-4           2.63k ± 0%       2.69k ± 0%    +2.36%  (p=0.008 n=5+5)
Read/sample_flate_524_kB-4          2.63k ± 0%       2.72k ± 0%    +3.31%  (p=0.016 n=5+4)
Read/sample_zstd_524_kB-4           6.11k ± 2%       1.64k ± 0%   -73.23%  (p=0.008 n=5+5)
```
changhyuni pushed a commit to changhyuni/loki that referenced this pull request Nov 8, 2022
**What this PR does / why we need it**:

Bring in various improvements from upstream, particularly
klauspost/compress#668

**Checklist**
- [x] Reviewed the `CONTRIBUTING.md` guide
- NA Documentation added
- NA Tests updated
- [x] `CHANGELOG.md` updated
- NA Changes that require user attention or interaction to upgrade are
documented in `docs/sources/upgrading/_index.md`

**Benchmarks**

(using changes from grafana#7246, ignoring lines that didn't change much)

```
name                           old time/op      new time/op      delta
Write/ordered-flate-4              81.5ms ± 5%      78.7ms ± 2%    -3.39%  (p=0.016 n=5+5)
Read/none_66_kB-4                  4.16ms ± 6%      3.93ms ± 4%    -5.51%  (p=0.032 n=5+5)
Read/flate_66_kB-4                  168ms ± 4%       179ms ±11%    +6.50%  (p=0.032 n=5+5)
Read/zstd_66_kB-4                   334ms ±16%       152ms ± 3%   -54.57%  (p=0.008 n=5+5)
Read/none_262_kB-4                 3.93ms ± 1%      3.81ms ± 2%    -2.91%  (p=0.008 n=5+5)
Read/zstd_262_kB-4                  369ms ± 8%       131ms ± 1%   -64.62%  (p=0.008 n=5+5)
Read/zstd_524_kB-4                  466ms ±17%       146ms ± 2%   -68.68%  (p=0.008 n=5+5)
Read/sample_zstd_66_kB-4            420ms ±18%       224ms ± 1%   -46.69%  (p=0.016 n=5+4)
Read/sample_gzip_262_kB-4           214ms ± 1%       218ms ± 1%    +1.90%  (p=0.016 n=5+5)
Read/sample_zstd_262_kB-4           418ms ±21%       200ms ± 2%   -52.15%  (p=0.016 n=5+4)
Read/sample_zstd_524_kB-4           576ms ±35%       234ms ± 1%   -59.42%  (p=0.008 n=5+5)

name                           old speed        new speed        delta
Write/ordered-gzip-4              267MB/s ±10%     284MB/s ± 2%    +6.51%  (p=0.008 n=5+5)
Write/ordered-flate-4             274MB/s ± 4%     291MB/s ± 2%    +6.49%  (p=0.008 n=5+5)
Read/none_66_kB-4                1.82GB/s ± 6%    1.92GB/s ± 4%    +5.78%  (p=0.032 n=5+5)
Read/gzip_66_kB-4                 669MB/s ± 4%     698MB/s ± 1%    +4.30%  (p=0.008 n=5+5)
Read/zstd_66_kB-4                 425MB/s ±14%     930MB/s ± 3%  +119.12%  (p=0.008 n=5+5)
Read/none_262_kB-4               1.93GB/s ± 1%    1.99GB/s ± 2%    +3.00%  (p=0.008 n=5+5)
Read/gzip_262_kB-4                701MB/s ± 5%     721MB/s ± 2%    +2.96%  (p=0.032 n=5+5)
Read/zstd_262_kB-4                357MB/s ± 8%    1009MB/s ± 1%  +182.89%  (p=0.008 n=5+5)
Read/flate_524_kB-4               750MB/s ± 1%     763MB/s ± 1%    +1.74%  (p=0.008 n=5+5)
Read/zstd_524_kB-4                365MB/s ±18%    1149MB/s ± 2%  +215.34%  (p=0.008 n=5+5)
Read/sample_zstd_66_kB-4          341MB/s ±17%     616MB/s ± 9%   +80.67%  (p=0.008 n=5+5)
Read/sample_zstd_262_kB-4         318MB/s ±18%     658MB/s ± 2%  +107.08%  (p=0.016 n=5+4)
Read/sample_gzip_524_kB-4         521MB/s ± 1%     530MB/s ± 1%    +1.72%  (p=0.032 n=5+5)
Read/sample_zstd_524_kB-4         299MB/s ±28%     718MB/s ± 1%  +140.23%  (p=0.008 n=5+5)

name                           old %compressed  new %compressed  delta
Write/ordered-gzip-4                 6.89 ± 0%        6.73 ± 0%    -2.32%  (p=0.000 n=5+4)
Write/ordered-flate-4                6.89 ± 0%        6.69 ± 0%    -2.84%  (p=0.008 n=5+5)
Write/ordered-zstd-4                 6.17 ± 0%        6.16 ± 0%    -0.02%  (p=0.008 n=5+5)
Write/unordered-gzip-4               6.89 ± 0%        6.73 ± 0%    -2.32%  (p=0.008 n=5+5)
Write/unordered-flate-4              6.89 ± 0%        6.70 ± 0%    -2.81%  (p=0.000 n=4+5)
Write/unordered-zstd-4               6.17 ± 0%        6.16 ± 0%    -0.02%  (p=0.008 n=5+5)

name                           old alloc/op     new alloc/op     delta
Write/unordered-lz4-4              18.8MB ± 4%      17.8MB ± 1%    -5.28%  (p=0.008 n=5+5)
Read/gzip_66_kB-4                   713kB ± 0%       735kB ± 1%    +2.99%  (p=0.008 n=5+5)
Read/flate_66_kB-4                  715kB ± 0%       733kB ± 0%    +2.57%  (p=0.008 n=5+5)
Read/zstd_66_kB-4                   423MB ± 0%         1MB ± 0%   -99.65%  (p=0.016 n=5+4)
Read/gzip_262_kB-4                  198kB ± 0%       204kB ± 0%    +3.07%  (p=0.016 n=4+5)
Read/lz4-64k_262_kB-4               169kB ± 0%       169kB ± 0%    -0.07%  (p=0.000 n=5+4)
Read/flate_262_kB-4                 197kB ± 0%       205kB ± 0%    +3.77%  (p=0.008 n=5+5)
Read/zstd_262_kB-4                  553MB ± 0%         0MB ± 0%   -99.92%  (p=0.016 n=5+4)
Read/gzip_524_kB-4                 96.2kB ± 0%      98.8kB ± 0%    +2.71%  (p=0.016 n=4+5)
Read/flate_524_kB-4                95.4kB ± 0%      98.7kB ± 0%    +3.46%  (p=0.008 n=5+5)
Read/zstd_524_kB-4                  786MB ± 0%         1MB ± 6%   -99.93%  (p=0.008 n=5+5)
Read/sample_gzip_66_kB-4            686kB ± 0%       703kB ± 0%    +2.48%  (p=0.029 n=4+4)
Read/sample_flate_66_kB-4           688kB ± 0%       710kB ± 1%    +3.08%  (p=0.016 n=4+5)
Read/sample_zstd_66_kB-4            423MB ± 0%         2MB ± 0%   -99.59%  (p=0.016 n=5+4)
Read/sample_gzip_262_kB-4           194kB ± 0%       200kB ± 0%    +3.10%  (p=0.016 n=4+5)
Read/sample_flate_262_kB-4          194kB ± 0%       201kB ± 0%    +3.77%  (p=0.016 n=4+5)
Read/sample_zstd_262_kB-4           553MB ± 0%         0MB ± 0%   -99.91%  (p=0.016 n=5+4)
Read/sample_gzip_524_kB-4          95.4kB ± 0%      97.9kB ± 0%    +2.65%  (p=0.008 n=5+5)
Read/sample_flate_524_kB-4         95.2kB ± 0%      98.8kB ± 0%    +3.71%  (p=0.016 n=5+4)
Read/sample_zstd_524_kB-4           786MB ± 0%         1MB ± 0%   -99.90%  (p=0.008 n=5+5)

name                           old allocs/op    new allocs/op    delta
Write/ordered-gzip-4                  701 ± 0%         718 ± 1%    +2.40%  (p=0.008 n=5+5)
Write/ordered-lz4-256k-4              656 ± 0%         657 ± 0%    +0.21%  (p=0.048 n=5+5)
Write/ordered-flate-4                 626 ± 0%         634 ± 1%    +1.37%  (p=0.008 n=5+5)
Write/ordered-zstd-4                2.07k ± 0%       1.44k ± 0%   -30.49%  (p=0.008 n=5+5)
Write/unordered-gzip-4               418k ± 0%        428k ± 0%    +2.39%  (p=0.008 n=5+5)
Write/unordered-flate-4              418k ± 0%        430k ± 0%    +2.89%  (p=0.008 n=5+5)
Write/unordered-zstd-4               469k ± 0%        468k ± 0%    -0.12%  (p=0.008 n=5+5)
Read/gzip_66_kB-4                   13.2k ± 0%       13.5k ± 0%    +2.54%  (p=0.016 n=5+4)
Read/lz4-256k_66_kB-4               13.7k ± 0%       13.7k ± 0%    -0.01%  (p=0.029 n=4+4)
Read/flate_66_kB-4                  13.2k ± 0%       13.6k ± 0%    +2.72%  (p=0.008 n=5+5)
Read/zstd_66_kB-4                   18.0k ± 1%       10.8k ± 0%   -40.19%  (p=0.008 n=5+5)
Read/gzip_262_kB-4                  4.61k ± 0%       4.76k ± 0%    +3.17%  (p=0.016 n=4+5)
Read/flate_262_kB-4                 4.61k ± 0%       4.78k ± 0%    +3.62%  (p=0.008 n=5+5)
Read/zstd_262_kB-4                  7.10k ± 2%       2.54k ± 0%   -64.22%  (p=0.016 n=5+4)
Read/gzip_524_kB-4                  2.62k ± 0%       2.69k ± 0%    +2.36%  (p=0.016 n=4+5)
Read/flate_524_kB-4                 2.62k ± 0%       2.70k ± 0%    +3.09%  (p=0.008 n=5+5)
Read/zstd_524_kB-4                  6.13k ± 2%       1.63k ± 0%   -73.40%  (p=0.008 n=5+5)
Read/sample_gzip_66_kB-4            13.2k ± 0%       13.5k ± 0%    +2.54%  (p=0.029 n=4+4)
Read/sample_flate_66_kB-4           13.2k ± 0%       13.6k ± 0%    +2.88%  (p=0.016 n=4+5)
Read/sample_zstd_66_kB-4            18.0k ± 1%       10.8k ± 0%   -40.00%  (p=0.008 n=5+5)
Read/sample_gzip_262_kB-4           4.63k ± 0%       4.77k ± 0%    +3.16%  (p=0.016 n=4+5)
Read/sample_flate_262_kB-4          4.62k ± 0%       4.79k ± 0%    +3.61%  (p=0.016 n=4+5)
Read/sample_zstd_262_kB-4           7.12k ± 1%       2.54k ± 0%   -64.28%  (p=0.008 n=5+5)
Read/sample_gzip_524_kB-4           2.63k ± 0%       2.69k ± 0%    +2.36%  (p=0.008 n=5+5)
Read/sample_flate_524_kB-4          2.63k ± 0%       2.72k ± 0%    +3.31%  (p=0.016 n=5+4)
Read/sample_zstd_524_kB-4           6.11k ± 2%       1.64k ± 0%   -73.23%  (p=0.008 n=5+5)
```
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

zstd decoder not re-using memory effectively between Reset() and Read()
1 participant