Cuis uses a standard chunk file format[1] with a file per package.
Given the fact that no two Smalltalk dialects share a common class
creation protocol makes simply using chunk file format a non-starter.
Squeak uses FileTree.
As part of his work on Cypress 2.0 Martin McClure is planning on
supporting a file per class disk format in addition to the file per
method format and possibly a file per package format.
I'm not sure whether Martin is at the point where he is ready to share
his plans, but this is a problem that is being worked on and when Martin
is ready for feedback he'll publish his spec.
Dale
[1]
https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/blob/master/Packages/Assessments.pck.st
On 5/21/17 8:25 AM, Stephan Eggermont wrote:
At the PharoDays I was painfully reminded that SSDs perform really badly when
using small files. The Bloc tutorial used a github filetree repo and that has a
lot of files. The whole folder is 116 MB in 16K files. Copying that amount of
data should not be noticable, taking about a third of a second. With it being
in so many files, it took more than half a minute, or a hundred times as long.
That is too much overhead. How can we improve the file format in a way that
keeps the cross-platform exchange advantages and a reasonable way to view diffs
and propose small changes using the github web tools?
Cuis uses a different format with git. How does that compare? What is used in
Squeak?
Stephan