Hi,
In 3.9 (maybe even 3.8?) there is a very cool small hack by Dan
Ingalls: Source Compression.
|
| Description:
| CompressedSourceStream writes files as a series of GZipped segments
that can be written and read sequentially like
| regular source files, and yet remain compressed 4x on the disk.
Full sources for Squeak 3.6 fit in 3.5MB.
|
| Smalltalk compressSources will write a copy of the sources file in
this format. Thereafter openSources:forImage:
| will look first for such a compressed copy, and open it if found.
|
Now with everybody complaining about the size of Squeak, I would like
to do two things with 3.9:
1) A new sources file. Everything (almost) has been overridden in
the changes file, it just makes
no sense anymore.
2) Compressing that source file. Dan's code will get us a factor of
4, so we will have 4-5 MB
instead of 16. Optionaly, people can always just use the
uncompressed sources if they don't like it.
The problem now is that the m17n stuff broke the
CompressedSourceStream... I guess it's something trivial
(like a wrong encoder or something)... but I have no time for
checking it.
Anyone care to see if it's fixable?
We then will have (estimate) the following size for 3.9:
.changes: empty
.image 14MB
.stc ca. 5 MB (compressed sources)
(compared to 8.9 + 12.4 + 13.9 for 3.8).
Attached is a changeset for writing a new .sources for enabeling to
test the compression for real on the
new .sources file.
Marcus