[tor-bugs] #15710 [Tor Browser]: Consider enabling the BCJ filter when packaging bundles.
Tor Bug Tracker & Wiki
blackhole at torproject.org
Fri Apr 17 05:52:49 UTC 2015
#15710: Consider enabling the BCJ filter when packaging bundles.
-------------------------------------+--------------------------
Reporter: yawning | Owner: tbb-team
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: Tor Browser | Version:
Keywords: xz, bundle size, gitian | Actual Points:
Parent ID: | Points:
-------------------------------------+--------------------------
xz (and xz embedded) supports branch/call/jump filters that is supposed to
reduce compressed executable size. The documentation hints that the
compression ratio can end up being worse in certain situations, but as far
as I can tell, it helps.
Numbers (tested with `tor-browser-linux64-4.5a5_en-US.tar.xz`):
* Current settings: 43667412 (1.0)
* `xz -9`: 43463244 (0.99)
* `xz --x86 --lzma2`: 42621816 (0.976)
* `xz --x86 --lzma2=preset=9`: 42402308 (0.971)
The "extreme" setting doesn't help the bundle compression enough to be
worth it, and it would increase the already long build time even further.
The improvement isn't absolutely massive, but ~1 MiB is ~1 MiB. Since we
only currently build x86(_64) bundles, adding `export XZ_OPT="--x86
--lzma2"` or similar to the top of `dtar.sh` should be sufficient, adjust
presets to taste.
(There is also an Little Endian ARM BCJ filter, along with filters for
architectures that we don't care about.)
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/15710>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list