-
Notifications
You must be signed in to change notification settings - Fork 322
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
# TLDR; * Streams can now be decoded without goroutines using `WithDecoderConcurrency(1)`. * `WithDecoderConcurrency(4)` is now default. If you need more concurrent `DecodeAll` operations, use `WithDecoderConcurrency(0)`. Goroutines exit when streams have finished reading (either error or EOF). Designed and tested to be compatible, but test before committing upgrade. # Changes Goroutines will now only be created on demand, and `WithDecoderConcurrency(1)` is now strictly synchronized. Decompression will typically be about 2x faster when using multiple goroutines, and will prepare input for the upstream reader async to reads. This can lead to ~3x faster input in total than using no goroutines. New default is now `WithDecoderConcurrency(4)` (or less, if GOMAXPROCS is less). Beyond 4, there is little benefit for streaming decompression. * No goroutines created, unless streaming, and auto-closed at error/EOF. * Synchronous stream decoding with `WithDecoderConcurrency(1)`. * Split sequence decoding/execution for streams up to 50% faster. * Simplified error flow. * Speedup on streams. * More consistent error reporting. * Improved error detection/compliance with reference decoder. * Improved test coverage. Fixes #477
- Loading branch information
Showing
18 changed files
with
1,447 additions
and
890 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.