[commit: ghc] wip/D1159: compiler/iface: compress .hi files (4e9a41e)
git at git.haskell.org
git at git.haskell.org
Sun Aug 23 18:11:55 UTC 2015
Repository : ssh://git@git.haskell.org/ghc
On branch : wip/D1159
Link : http://ghc.haskell.org/trac/ghc/changeset/4e9a41e1ba29afc231f61cee53fce1b04ed52370/ghc
>---------------------------------------------------------------
commit 4e9a41e1ba29afc231f61cee53fce1b04ed52370
Author: Austin Seipp <austin at well-typed.com>
Date: Sun Aug 23 20:08:04 2015 +0200
compiler/iface: compress .hi files
Summary:
Compress all interface files generated by the compiler with LZ4. While
having an extremely small amount of code, LZ4 is both very fast at
compression and decompression while having quite good space saving
properties.
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>
Test Plan: I ran `./validate`
Reviewers: hvr, bgamari, thomie
Subscribers: duncan
Differential Revision: https://phabricator.haskell.org/D1159
>---------------------------------------------------------------
4e9a41e1ba29afc231f61cee53fce1b04ed52370
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 | 141 +++++
6 files changed, 2046 insertions(+), 19 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 4e9a41e1ba29afc231f61cee53fce1b04ed52370
More information about the ghc-commits
mailing list