mirror of
				https://github.com/containers/podman.git
				synced 2025-10-31 10:00:01 +08:00 
			
		
		
		
	Update for https://github.com/klauspost/pgzip/pull/50
... to fix reads of compressed data by docker-archive: > go get github.com/klauspost/pgzip@master > make vendor Signed-off-by: Miloslav Trmač <mitr@redhat.com>
This commit is contained in:
		
							
								
								
									
										2
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.mod
									
									
									
									
									
								
							| @ -101,7 +101,7 @@ require ( | |||||||
| 	github.com/inconshreveable/mousetrap v1.0.0 // indirect | 	github.com/inconshreveable/mousetrap v1.0.0 // indirect | ||||||
| 	github.com/jinzhu/copier v0.3.5 // indirect | 	github.com/jinzhu/copier v0.3.5 // indirect | ||||||
| 	github.com/klauspost/compress v1.15.11 // indirect | 	github.com/klauspost/compress v1.15.11 // indirect | ||||||
| 	github.com/klauspost/pgzip v1.2.5 // indirect | 	github.com/klauspost/pgzip v1.2.6-0.20220930104621-17e8dac29df8 // indirect | ||||||
| 	github.com/kr/fs v0.1.0 // indirect | 	github.com/kr/fs v0.1.0 // indirect | ||||||
| 	github.com/letsencrypt/boulder v0.0.0-20220723181115-27de4befb95e // indirect | 	github.com/letsencrypt/boulder v0.0.0-20220723181115-27de4befb95e // indirect | ||||||
| 	github.com/manifoldco/promptui v0.9.0 // indirect | 	github.com/manifoldco/promptui v0.9.0 // indirect | ||||||
|  | |||||||
							
								
								
									
										3
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								go.sum
									
									
									
									
									
								
							| @ -1150,8 +1150,9 @@ github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHU | |||||||
| github.com/klauspost/compress v1.15.10/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= | github.com/klauspost/compress v1.15.10/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= | ||||||
| github.com/klauspost/compress v1.15.11 h1:Lcadnb3RKGin4FYM/orgq0qde+nc15E5Cbqg4B9Sx9c= | github.com/klauspost/compress v1.15.11 h1:Lcadnb3RKGin4FYM/orgq0qde+nc15E5Cbqg4B9Sx9c= | ||||||
| github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= | github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= | ||||||
| github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE= |  | ||||||
| github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= | github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= | ||||||
|  | github.com/klauspost/pgzip v1.2.6-0.20220930104621-17e8dac29df8 h1:BcxbplxjtczA1a6d3wYoa7a0WL3rq9DKBMGHeKyjEF0= | ||||||
|  | github.com/klauspost/pgzip v1.2.6-0.20220930104621-17e8dac29df8/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= | ||||||
| github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= | github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= | ||||||
| github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= | github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= | ||||||
| github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= | github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= | ||||||
|  | |||||||
							
								
								
									
										4
									
								
								vendor/github.com/klauspost/pgzip/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/klauspost/pgzip/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -1,3 +1,7 @@ | |||||||
|  |  | ||||||
|  | arch: | ||||||
|  |   - amd64 | ||||||
|  |   - ppc64le | ||||||
| language: go | language: go | ||||||
|  |  | ||||||
| os: | os: | ||||||
|  | |||||||
							
								
								
									
										3
									
								
								vendor/github.com/klauspost/pgzip/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/github.com/klauspost/pgzip/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -1,4 +1,4 @@ | |||||||
| MIT License | The MIT License (MIT) | ||||||
|  |  | ||||||
| Copyright (c) 2014 Klaus Post | Copyright (c) 2014 Klaus Post | ||||||
|  |  | ||||||
| @ -19,3 +19,4 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |||||||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||||
| SOFTWARE. | SOFTWARE. | ||||||
|  |  | ||||||
|  | |||||||
							
								
								
									
										13
									
								
								vendor/github.com/klauspost/pgzip/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/github.com/klauspost/pgzip/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -104,13 +104,12 @@ Content is [Matt Mahoneys 10GB corpus](http://mattmahoney.net/dc/10gb.html). Com | |||||||
|  |  | ||||||
| Compressor  | MB/sec   | speedup | size | size overhead (lower=better) | Compressor  | MB/sec   | speedup | size | size overhead (lower=better) | ||||||
| ------------|----------|---------|------|--------- | ------------|----------|---------|------|--------- | ||||||
| [gzip](http://golang.org/pkg/compress/gzip) (golang) | 15.44MB/s (1 thread) | 1.0x | 4781329307 | 0% | [gzip](http://golang.org/pkg/compress/gzip) (golang) | 16.91MB/s (1 thread) | 1.0x | 4781329307 | 0% | ||||||
| [gzip](http://github.com/klauspost/compress/gzip) (klauspost) | 135.04MB/s (1 thread) | 8.74x | 4894858258 | +2.37% | [gzip](http://github.com/klauspost/compress/gzip) (klauspost) | 127.10MB/s (1 thread) | 7.52x | 4885366806 | +2.17% | ||||||
| [pgzip](https://github.com/klauspost/pgzip) (klauspost) | 1573.23MB/s| 101.9x | 4902285651 | +2.53% | [pgzip](https://github.com/klauspost/pgzip) (klauspost) | 2085.35MB/s|  123.34x | 4886132566 | +2.19% | ||||||
| [bgzf](https://godoc.org/github.com/biogo/hts/bgzf) (biogo) | 361.40MB/s | 23.4x | 4869686090 | +1.85% | [pargzip](https://godoc.org/github.com/golang/build/pargzip) (builder) | 334.04MB/s | 19.76x | 4786890417 | +0.12% | ||||||
| [pargzip](https://godoc.org/github.com/golang/build/pargzip) (builder) | 306.01MB/s | 19.8x | 4786890417 | +0.12% |  | ||||||
|  |  | ||||||
| pgzip also contains a [linear time compression](https://github.com/klauspost/compress#linear-time-compression-huffman-only) mode, that will allow compression at ~250MB per core per second, independent of the content. | pgzip also contains a [huffman only compression](https://github.com/klauspost/compress#linear-time-compression-huffman-only) mode, that will allow compression at ~450MB per core per second, largely independent of the content. | ||||||
|  |  | ||||||
| See the [complete sheet](https://docs.google.com/spreadsheets/d/1nuNE2nPfuINCZJRMt6wFWhKpToF95I47XjSsc-1rbPQ/edit?usp=sharing) for different content types and compression settings. | See the [complete sheet](https://docs.google.com/spreadsheets/d/1nuNE2nPfuINCZJRMt6wFWhKpToF95I47XjSsc-1rbPQ/edit?usp=sharing) for different content types and compression settings. | ||||||
|  |  | ||||||
| @ -123,7 +122,7 @@ In the example above, the numbers are as follows on a 4 CPU machine: | |||||||
| Decompressor | Time | Speedup | Decompressor | Time | Speedup | ||||||
| -------------|------|-------- | -------------|------|-------- | ||||||
| [gzip](http://golang.org/pkg/compress/gzip) (golang) | 1m28.85s | 0% | [gzip](http://golang.org/pkg/compress/gzip) (golang) | 1m28.85s | 0% | ||||||
| [pgzip](https://github.com/klauspost/pgzip) (golang) | 43.48s | 104% | [pgzip](https://github.com/klauspost/pgzip) (klauspost) | 43.48s | 104% | ||||||
|  |  | ||||||
| But wait, since gzip decompression is inherently singlethreaded (aside from CRC calculation) how can it be more than 100% faster?  Because pgzip due to its design also acts as a buffer. When using unbuffered gzip, you are also waiting for io when you are decompressing. If the gzip decoder can keep up, it will always have data ready for your reader, and you will not be waiting for input to the gzip decompressor to complete. | But wait, since gzip decompression is inherently singlethreaded (aside from CRC calculation) how can it be more than 100% faster?  Because pgzip due to its design also acts as a buffer. When using unbuffered gzip, you are also waiting for io when you are decompressing. If the gzip decoder can keep up, it will always have data ready for your reader, and you will not be waiting for input to the gzip decompressor to complete. | ||||||
|  |  | ||||||
|  | |||||||
							
								
								
									
										13
									
								
								vendor/github.com/klauspost/pgzip/gunzip.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/github.com/klauspost/pgzip/gunzip.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -513,6 +513,19 @@ func (z *Reader) Read(p []byte) (n int, err error) { | |||||||
|  |  | ||||||
| func (z *Reader) WriteTo(w io.Writer) (n int64, err error) { | func (z *Reader) WriteTo(w io.Writer) (n int64, err error) { | ||||||
| 	total := int64(0) | 	total := int64(0) | ||||||
|  | 	avail := z.current[z.roff:] | ||||||
|  | 	if len(avail) != 0 { | ||||||
|  | 		n, err := w.Write(avail) | ||||||
|  | 		if n != len(avail) { | ||||||
|  | 			return total, io.ErrShortWrite | ||||||
|  | 		} | ||||||
|  | 		total += int64(n) | ||||||
|  | 		if err != nil { | ||||||
|  | 			return total, err | ||||||
|  | 		} | ||||||
|  | 		z.blockPool <- z.current | ||||||
|  | 		z.current = nil | ||||||
|  | 	} | ||||||
| 	for { | 	for { | ||||||
| 		if z.err != nil { | 		if z.err != nil { | ||||||
| 			return total, z.err | 			return total, z.err | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
								
							| @ -498,7 +498,7 @@ github.com/klauspost/compress/internal/cpuinfo | |||||||
| github.com/klauspost/compress/internal/snapref | github.com/klauspost/compress/internal/snapref | ||||||
| github.com/klauspost/compress/zstd | github.com/klauspost/compress/zstd | ||||||
| github.com/klauspost/compress/zstd/internal/xxhash | github.com/klauspost/compress/zstd/internal/xxhash | ||||||
| # github.com/klauspost/pgzip v1.2.5 | # github.com/klauspost/pgzip v1.2.6-0.20220930104621-17e8dac29df8 | ||||||
| ## explicit | ## explicit | ||||||
| github.com/klauspost/pgzip | github.com/klauspost/pgzip | ||||||
| # github.com/kr/fs v0.1.0 | # github.com/kr/fs v0.1.0 | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 Miloslav Trmač
					Miloslav Trmač