Uh oh!
There was an error while loading. Please reload this page.
build: xz tarball extreme compression - #10626
Conversation
mscdex
commented
Jan 5, 2017
According to the xz manpage, using Is that really worth it for <=1% difference? |
@mscdex I think it depends the download counts on the server, personally I don't feel the time increase so much, take $ time xz -9 node-v7.4.0-linux-x64.tar real 0m20.632s
user 0m20.432s
sys 0m0.192s
$ time xz -9e node-v7.4.0-linux-x64.tar real 0m27.529s
user 0m27.378s
sys 0m0.124sThe time increases 35% more, but still only few (7) seconds 😄 |
gibfahn
commented
Jan 5, 2017
So the average size decrease is 0.31%? I'm not sure how useful that'd be. |
It's not that significant improvement, but that 7 secs(on my computer, may be even shorter on nodejs's build server) could save more than 7 secs in total around the world if there are enough downloads count, and I guess it'll 😄 Since the tarball is static, once it's released, it'll not be touched anymore in the most cases, and could be download by millions of times (depends on the time window), even if it can only save ~ 30KB, 30KB x 1000000 = ~ 3GB, so we can every 3GB bandwidth from every million times download, from a large scale of view, the ~ 7 secs may worth it? |
gibfahn
commented
Jan 5, 2017
@PeterDaveHello So it's 7 seconds more on your computer to compress? How much longer does it take to extract? |
PeterDaveHello
commented
Jan 5, 2017
@gibfahn I didn't see significant difference from the decompression time, 1.287 secs vs 1.281 secs. |
jasnell
commented
Mar 24, 2017
Updates on this one? |
PeterDaveHello
commented
Mar 25, 2017
Same question :) |
bnoordhuis
commented
Mar 26, 2017
Decompression time should be the same if I understand xz's 'extreme' algorithm correctly, but the resulting file could be either bigger or smaller than without It would be interesting to see if our tarballs are persistently smaller across releases or if it's hit and miss. Any volunteers? |
PeterDaveHello
commented
Mar 26, 2017
@bnoordhuis across all released versions and different architecture? |
bnoordhuis
commented
Mar 26, 2017
All releases might be a bit excessive but I'd be curious to see the numbers for a few releases from the v4.x, v6.x and v7.x release branches each. |
v7 already been tested as above, I'll test v4 & v6 later |
PeterDaveHello
commented
Mar 26, 2017
|
PeterDaveHello
commented
Mar 26, 2017
|
bnoordhuis
commented
Mar 27, 2017
Thanks, @PeterDaveHello. Okay, so it's a win most of the time. Let's enable it but can you add it to the XZ_COMPRESSION variable on (or around) line 600 instead of passing it manually everywhere? |
Take node v7.4.0 as example, tarball size improvements listed as below: node-v7.4.0-darwin-x64.tar.xz 9176904 -> 9147884 (99.68%) node-v7.4.0-headers.tar.xz 351224 -> 349612 (99.54%) node-v7.4.0-linux-arm64.tar.xz 9271000 -> 9254748 (99.82%) node-v7.4.0-linux-armv6l.tar.xz 9243504 -> 9227428 (99.82%) node-v7.4.0-linux-armv7l.tar.xz 9246228 -> 9228732 (99.81%) node-v7.4.0-linux-ppc64.tar.xz 9448476 -> 9411128 (99.60%) node-v7.4.0-linux-ppc64le.tar.xz 9553876 -> 9521424 (99.66%) node-v7.4.0-linux-s390x.tar.xz 9923212 -> 9901772 (99.78%) node-v7.4.0-linux-x64.tar.xz 10318700 -> 10304396 (99.86%) node-v7.4.0-linux-x86.tar.xz 9907848 -> 9886448 (99.78%) node-v7.4.0-sunos-x86.tar.xz 9742620 -> 9732160 (99.89%) node-v7.4.0.tar.xz 16611356 -> 16459192 (99.08%) So that we can know that we can have the improvement on all the xz tarball releases!
PeterDaveHello
commented
Mar 27, 2017
@bnoordhuis done. |
bnoordhuis
left a comment
There was a problem hiding this comment.
Thanks, LGTM. Probably no point in running the CI, I don't think it tests tarball creation.
fhinkel
commented
May 26, 2017
Note to self (or any other collaborator): This is ready to merge, removing the |
PeterDaveHello
commented
May 26, 2017
Thanks @fhinkel |
PR-URL: nodejs#10626 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
refack
commented
May 27, 2017
Landed in 1474b7a |
PR-URL: #10626 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
MylesBorins
commented
Jul 17, 2017
landed on v6.x, let me know if it should be backed out |
PR-URL: #10626 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
Take node v7.4.0 as example, tarball size improvements listed as below:
So that we can know that we can have the improvement on all the xz
tarball releases!
Checklist
make -j4 test(UNIX), orvcbuild test(Windows) passesAffected core subsystem(s)
build