[ANN] Need testers for 3.9a
Bert Freudenberg
bert at impara.de
Tue Oct 25 17:34:50 UTC 2005
Am 23.10.2005 um 13:30 schrieb stéphane ducasse:
> Hi
>
> I pushed two items in the update stream.
> - the first one load some modified version of MC (including the
> cacheFlushing)
> - the second one will load the script loader and load the
> latest scripts.
> marcus and adrian told me that this is working on their
> machines (= no conflict after loading).
>
> I need some people to let me know if the following work:
> - take 6693 http://ftp.squeak.org/3.9/Squeak3.9a-6693.zip.
> - do an update.
> - report the size of the image/changes and mention if there are
> conflicts after the load
In update 6694, why didn't you use a configuration to upgrade
Monticello? The explicit load in there destroys any MC version one
might have loaded in the image (even if it is newer than 267). This
would have done the same:
(MCConfiguration fromArray: #(
repository ('http://source.squeakfoundation.org/39a')
dependency ('Monticello' 'Monticello-stephaneducasse.276'
'd0330fd9-e2b4-403d-815b-cb03db7a7256')
)) upgrade
In update 6695, the "script loading" logic takes really long. I had a
message tally running, the actual time spent in loading new method
definitions is less than 5 percent. Of the 5600 sec total it spent
1000 sec in GC (100 full, 100,000 incr.), and 2200 sec in
loadVersionFromFileNamed: (of which 800 s are spent in
MCCacheRepository>>storeVersion:). It uses #loadVersionFromFileNamed:
on a new repository instance every time, this circumvents any caching.
I think a better approach would be to use the loadTogether strategy
(which works around all optimizations done by MCConfigurations) only
when necessary, that is, in this case only for the two packages that
implement and send the #isRectangle method. For the rest, a config
map should be a lot more efficient.
I've attached the message tally.
This code creates a config map from a collection of version file
names such as in ScriptLoader:
configurationFrom: aCollection
| spec |
spec := Array streamContents: [:s |
s nextPut: #repository; nextPut: {self repository description}.
aCollection do: [:ea | | pkg ver id |
pkg := ea copyUpToLast: $- .
ver := ea copyUpToLast: $. .
id := UUID nilUUID asString.
s nextPut: #dependency; nextPut: {pkg . ver . id}]].
^MCConfiguration fromArray: spec.
this could be used, e.g., in
ScriptLoader>>loadOneAfterTheOther: aCollection merge: aBoolean
^(self configurationFrom: aCollection) upgrade
- Bert -

-------------- next part --------------
Skipped content of type multipart/mixed
More information about the Squeak-dev
mailing list
|