aboutsummaryrefslogtreecommitdiffstats
path: root/Android.bp
diff options
context:
space:
mode:
authorDan Willemsen <dwillemsen@google.com>2016-08-04 15:43:03 -0700
committerDan Willemsen <dwillemsen@google.com>2016-08-11 01:30:16 -0700
commit017d8937fa4536eafa306e99bf83c01d9f3d263e (patch)
treef44542ea160142ab5a2b5aade26ff58b9a44ad51 /Android.bp
parent3bf1a085050c797f4af31353325c9ee69ca6c02f (diff)
downloadbuild_soong-017d8937fa4536eafa306e99bf83c01d9f3d263e.tar.gz
build_soong-017d8937fa4536eafa306e99bf83c01d9f3d263e.tar.bz2
build_soong-017d8937fa4536eafa306e99bf83c01d9f3d263e.zip
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
Diffstat (limited to 'Android.bp')
-rw-r--r--Android.bp2
1 files changed, 2 insertions, 0 deletions
diff --git a/Android.bp b/Android.bp
index 523bec16..e287dabe 100644
--- a/Android.bp
+++ b/Android.bp
@@ -206,8 +206,10 @@ blueprint_go_binary {
blueprint_go_binary {
name: "soong_jar",
+ deps: ["android-archive-zip"],
srcs: [
"cmd/soong_jar/soong_jar.go",
+ "cmd/soong_jar/rate_limit.go",
],
}