![]() Use data instead of code to shrink ".zo" sizes by 10-30%. When Racket code contains a literal that cannot be serialized directly by Chez Scheme (such as a keyword or an immutable string that should be datum-interned), the old approach was to generate Scheme code to construct the literal through a lifted `let` binding. To handle paths associated with procedures, however, Chez Scheme's `fasl-write` had been extended to allow arbitrary values to be intercepted during fasl and passed back in to `fasl-read`. Using that strategy for all Racket literals simplifies the implementation and reduces compiled code. It also makes closures smaller, while increases the number of relocations. DrRacket's foorprint shrinks by about 1%, but the main affect is on disk space for a Racket installation. |
||
---|---|---|
.. | ||
commands | ||
demodularizer | ||
private | ||
bundle-dist.rkt | ||
compiler-unit.rkt | ||
decompile.rkt | ||
embed-sig.rkt | ||
embed-unit.rkt | ||
option-unit.rkt | ||
sig.rkt |