[commit: ghc] master: compiler/iface: compress .hi files (d9cb7a8)
git at git.haskell.org
git at git.haskell.org
Sat May 21 16:52:36 UTC 2016
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/d9cb7a8a94daa4d20aa042cd053e20b491315633/ghc
>---------------------------------------------------------------
commit d9cb7a8a94daa4d20aa042cd053e20b491315633
Author: Austin Seipp <austin at well-typed.com>
Date: Fri May 20 03:25:08 2016 +0000
compiler/iface: compress .hi files
Compress all interface files generated by the compiler with LZ4. While
being only a tiny amount of code, LZ4 is both fast at compression and
decompression, and has good compression ratios.
Non-scientific size test: size of stage2 compiler .hi files:
`find ./compiler/stage2 -type f -iname '*.hi' -exec du -ch {} + | grep total$`
Without this patch: 22MB of .hi files for stage2.
With this patch: 9.2MB of .hi files for stage2.
Signed-off-by: Austin Seipp <austin at well-typed.com>
Reviewed By: bgamari
Differential Revision: https://phabricator.haskell.org/D1159
>---------------------------------------------------------------
d9cb7a8a94daa4d20aa042cd053e20b491315633
compiler/cbits/lz4.c | 1520 ++++++++++++++++++++++++++++++++++++++
compiler/cbits/lz4.h | 364 +++++++++
compiler/ghc.cabal.in | 2 +
compiler/ghc.mk | 1 +
compiler/utils/Binary.hs | 37 +-
compiler/utils/LZ4.hs | 126 ++++
docs/users_guide/8.2.1-notes.rst | 3 +-
7 files changed, 2033 insertions(+), 20 deletions(-)
Diff suppressed because of size. To see it, use:
git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc d9cb7a8a94daa4d20aa042cd053e20b491315633
More information about the ghc-commits
mailing list