gecko-dev/toolkit
Gregory Szorc 74778951f0 Bug 1359965 - Support and generate tar.gz WPT archive; r=glandium
Several years ago there was a single zip file for all test files. Clients
would only extract the files they needed. Thus, zip was a reasonable
archive format because it allowed direct access to members without
having to decompress the entirety of the stream.

We have since split up that monolithic archive into separate,
domain-specific archives. e.g. 1 archive for mochitests and one
for xpcshell tests. This drastically cut down on network I/O
required on testers because they only fetched archives/data that
was relevant. It also enabled parallel generation of test archives,
we shaved dozens of seconds off builds due to compression being
a long pole.

Despite the architectural changes to test archive management, we
still used zip files. This is not ideal because we no longer access
specific files in test archives and thus don't care about single/partial
member access performance.

This commit implements support for generating tar.gz test archives.
And it switches the web-platform archive to a tar.gz file.

The performance implications for archive generation are significant:

before: 48,321,250 bytes; 6.05s
after:  31,844,267 bytes; 4.57s

The size is reduced because we have a single compression context
so data from 1 file can benefit compression in a subsequent file.
CPU usage is reduced because the compressor has to work less with
1 context than it does with N. While I didn't measure it, decompression
performance should also be improved for the same reasons. And of course
network I/O will be reduced.

mozharness consumers use a generic method for handling unarchiving.
This method automagically handles multiple file extensions. So as long
as downstream consumers aren't hard coding ".zip" this change should
"just work."

MozReview-Commit-ID: LQa5MIHLsms

--HG--
extra : rebase_source : cd029cdbbcccc1d16f03d63a5f1fdf60be5db4fd
extra : source : a0e257e346ccf3c1db332ec5903241f4eeb9a7ee
2017-05-08 17:19:05 -07:00
..
components Merge m-c to autoland. a=merge 2017-05-24 16:34:01 -04:00
content Backed out changeset cdaaaf661b0f (bug 1365614) on request from glob 2017-05-22 15:45:53 +02:00
crashreporter Bug 1365203 - Test cases for annotating name of base::Thread in the crash reporter. r=gsvelto 2017-05-17 14:25:28 +08:00
forgetaboutsite Bug 1362882 - script-generated patch to switch from Promise.defer() to new Promise() where it's straightforward, rs=Mossop. 2017-05-12 14:55:27 +02:00
library Fix stylo bustage from selectors crate being updated. No bug. 2017-05-24 08:52:51 -04:00
locales Bug 1367000 - Remove duplicate string ID in aboutUrlClassifier.dtd r=francois 2017-05-23 15:40:56 +02:00
modules Bug 1367166 - Add MOZ_PHOTON_ANIMATIONS to AppConstants. r=jaws 2017-05-24 10:57:31 -07:00
mozapps Bug 1359965 - Support and generate tar.gz WPT archive; r=glandium 2017-05-08 17:19:05 -07:00
pluginproblem
profile Bug 1347358 - Add a Cleanup() function for profile locks. r=glandium 2017-03-23 18:02:10 +01:00
system Bug 1351067 - add BUG_COMPONENT to toolkit/* files. r=myk,enndeakin,mossop 2017-04-09 05:43:43 -04:00
themes Bug 1367007 - Allow sidebar headers to consume more than 25px in height. r=bgrins 2017-05-23 11:59:05 +02:00
xre Bug 1322554: Interpose kernel32!BaseThreadInitThunk to add verification of thread start addresses; r=aklotz,dmajor 2017-05-24 11:56:40 +02:00
.eslintrc.js Bug 1353542 - Add an eslint rule deprecating usage of Task.jsm in browser/ and toolkit/, r=Mossop. 2017-05-12 14:54:42 +02:00
moz.build
moz.configure Merge inbound to m-c. a=merge 2017-05-19 11:46:56 -04:00
nss.configure
toolkit.mozbuild Back out bug 1357107 since it broke a feature that we have no automated tests for... 2017-05-05 22:41:36 -04:00