Monticello 2 - request for information
Colin Putney
cputney at wiresong.ca
Fri May 25 05:13:12 UTC 2007
On May 24, 2007, at 12:51 PM, Damien Pollet wrote:
> On 23/05/07, Colin Putney <cputney at wiresong.ca> wrote:
>
>> versions or snapshots. This makes for a very fine-grained protocol -
>> versions are loaded individually. That makes directory or HTTP
>> repositories impractical, since loading a slice for a medium-size
>> package would involve opening and reading hundreds of files. (A
>> snapshot of OB, for example runs at over 600 versions).
>>
>
> It seems this could easily be optimized by using aggregate requests:
> ask for a cluster of versions, download them all at once, then load
> them as usual ?
>
Sure. The client could post a list of versions that it wants and the
server could gather them, bundle them up and send them in the
response. But there are a couple of problems here. One is that if
each version is stored in a separate file, we have the same problem
of opening and closing 600 files, but on the server. Apache might do
it faster than Squeak, but it's still going to be slow. So the
versions have to be stored in some kind of indexed store. Also, for
transport back to the client, they have to be combined into some kind
file format that can hold multiple versions.
So yes, we could use HTTP, but we'd still have to write a protocol
for requesting and returning aggregated versions. We'd also have to
come up with some kind of database or other fast random-access
storage system. At that point, why not just write a custom server?
It's very different from MC1, where the HTTP repository can be any
off-the-shelf HTTP server that supports DAV.
Colin
More information about the Squeak-dev
mailing list
|