platform_build_soong/third_party/zip
Dan Willemsen 017d8937fa soong_jar: Parallel compression
This compresses multiple files in parallel, and will split up larger
files (5MB+) into smaller chunks (1MB) to compress in parallel.

There is a small size overhead to recombine the chunks, but it's only a
few bytes per chunk, so for a 1MB chunk, it's minimal.

Rough numbers, with everything in the page cache, this can compress
~4GB (1000 files) down to 1GB in 6.5 seconds, instead of 120 seconds with
the non-parallel soong_jar and 150 seconds with zip.

Go's DEFLATE algorithm is still a bit worse than zip's -- about 3.5%
larger file sizes, but for most of our "dist" targets that is fine.

Change-Id: Ie4886c7d0f954ace46e599156e35fea7e74d6dd7
2016-08-11 01:30:16 -07:00
..
testdata Add archive/zip from go1.7rc5 tag 2016-08-10 16:10:16 -07:00
Android.bp Add zip2zip tool to copy zip entries from one file to another 2016-08-10 16:57:03 -07:00
android.go soong_jar: Parallel compression 2016-08-11 01:30:16 -07:00
example_test.go Add archive/zip from go1.7rc5 tag 2016-08-10 16:10:16 -07:00
reader.go Add archive/zip from go1.7rc5 tag 2016-08-10 16:10:16 -07:00
reader_test.go Add archive/zip from go1.7rc5 tag 2016-08-10 16:10:16 -07:00
register.go Add archive/zip from go1.7rc5 tag 2016-08-10 16:10:16 -07:00
struct.go Add archive/zip from go1.7rc5 tag 2016-08-10 16:10:16 -07:00
writer.go Add archive/zip from go1.7rc5 tag 2016-08-10 16:10:16 -07:00
writer_test.go Add archive/zip from go1.7rc5 tag 2016-08-10 16:10:16 -07:00
zip_test.go Add archive/zip from go1.7rc5 tag 2016-08-10 16:10:16 -07:00