[squeak-dev] Re: Our process, some loose ideas regarding DS + MC

Igor Stasenko siguctua at gmail.com
Sun Aug 16 12:19:39 UTC 2009


2009/8/16 Igor Stasenko <siguctua at gmail.com>:
> 2009/8/16 Göran Krampe <goran at krampe.se>:
>> Hi!
>>
>> Igor Stasenko wrote:
>>>
>>> 2009/8/16 Andreas Raab <andreas.raab at gmx.de>:
>>>>
>>>> Which reminds me: Where are the deltas stored and how big is the space
>>>> overhead for keeping them?
>>>
>>> i think most common overhead is 2x more space comparing to analoguous
>>> changeset record, since you have to keep 'before' version in addition
>>> to 'after' version. And most common change is changing the method(s)
>>> source a little bit.
>>
>> Well, in fact it is more - a Changeset does in fact not hold a copy of the
>> new method source - just a pointer to the method modified (IIRC).
>>
> oh, i meant not in-image space, but storage space required for
> interchange format.
>
>> Thus Changesets are sneaky beasts, most people get the wrong impression.
>>
> yes, and we could do same with deltas - use external storage for
> keeping them in file(s), while in-image
> they hold only a pointers.
> But i think its too early to think about it.
> Or.. why too early?
> You already mentioned different ways to persist the deltas.. so
> a delta 'pointer' could be represented by a tuple: (adaptor , id)
>
> where adaptor could be: file, couch DB, url or anything else,
> and id is an additional info , identifying given delta.
>
> Or, just use a common denominator of all of this stuff - URI.
> I don't think that its hard to introduce a new URI, which identifies a
> Couch DB storage :)
>

Thinking a bit more about it, i think its a great thing which we
should employ early!

Consider exchanging between people not with files, but with URLs:

http://my.site.foo.bar/squeak/myfixToSomeStuff.ds#100

or:

ftp://usr:pass@ftp.myhost.com/myfixToSomeStuff.ds#1234

and locally, one of course could use:

file:///usr/home/geek/squeak/myfixToSomeStuff.ds#1234


and so on..

Simple and powerful, and no early binding to any kind of specific
storage currently existing in the world.

>
>>> Oh, and did Goran mentioned that Deltas could be also 'compressed' in
>>> same way as changeset?
>>
>> Yes, I have called it "normalized" but compressed may be a better term.
>>
>> That code is not yet finished though, but a fun coding task for anyone
>> interested. :) There are two scenarios:
>>
>> - Compressing a single Delta into its non redundant form. This makes it look
>> like a Changeset. Before compression it is a "perfect" log.
>>
>> - Compression of multiple Deltas into one. This one is trivial once you
>> implemented first one.
>>
>> For bug fixes and patches I believe one would naturally want to compress
>> before distributing of course.
>>
>
> Right
>
>> regards, Göran
>>
>>
>>
>
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>



-- 
Best regards,
Igor Stasenko AKA sig.



More information about the Squeak-dev mailing list