On 06.03.2014, at 16:25, Goubier Thierry <[email protected]> wrote:
> > > Le 06/03/2014 16:14, Max Leske a écrit : >> >> On 06.03.2014, at 15:53, Stephan Eggermont <[email protected]> wrote: >> >>> Max wrote: >>>> I don’t quite follow. What do you mean by methods? >>> >>> When mapping methods to files, there is the problem that on disk files take >>> a minimum amount of space, >>> often 4KB. This slows writing a package to disk down a lot. >> >> I see. There are two things to consider: >> 1. the format we use to store source >> 2. the fact that Git will create one blob per file > > Git will pack blobs in a kind of archive file, in .pack files. That is only partly true: - packs will be generated when objects are transferred over the network (this may be partial packs) - packs can be force generated by using ‘git gc’ - packs will be periodically created / updated to reduce size on disk But: the main storage form (and the fastest for access) are loose objects (i.e. single files) Just for completeness :) Max > >> Obviously, by choosing a source storage format that avoids this problem, we >> don’t have to deal with the second issue. >> If you go with something like FileTree, which uses a single file per method, >> this changes. By combining multiple files (e.g. by zipping) we could avoid >> the problem of tiny blobs but we would loose the ability to look at the >> repository from the outside. This is something I don’t want to do. It >> creates a dependency to Pharo (and to the particular implementation of how >> those files are stored) and unneeded complexity (especially with regard to >> maintenance). > > +1. > >> In my opinion there are other factors, like readability, maintenance etc, >> that are maybe more important than speed. > > I agree with that :) > > Thierry > >> So yes, potentially we could do something about fragmentation but I won’t >> promise you anything. Does that answer your question? >> >> Cheers, >> Max >> >>> >>> Stephan >>> >>> >>> >> >> >> >> > > -- > Thierry Goubier > CEA list > Laboratoire des Fondations des Systèmes Temps Réel Embarqués > 91191 Gif sur Yvette Cedex > France > Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95 >
