[squeak-dev] The Trunk: Monticello-cmm.461.mcz

Levente Uzonyi leves at elte.hu
Tue Apr 26 03:56:29 UTC 2011


On Mon, 25 Apr 2011, Levente Uzonyi wrote:

> On Mon, 25 Apr 2011, commits at source.squeak.org wrote:
>
>> Chris Muller uploaded a new version of Monticello to project The Trunk:
>> http://source.squeak.org/trunk/Monticello-cmm.461.mcz
>> 
>> ==================== Summary ====================
>> 
>> Name: Monticello-cmm.461
>> Author: cmm
>> Time: 24 April 2011, 7:16:14.664 pm
>> UUID: 8bac38b5-8083-4b26-9b55-3c26fd8bc16f
>> Ancestors: Monticello-nice.460
>> 
>> - Extend support for MCConfigurations to regular MCDirectoryRepository's.
>> - Categorized some methods.
>> - Constructor method for MCDirectoryRepository.
>> - Fixed memory-leak; when a repository adds to its 'cache', it should 
>> always keep it resized.
>
> There are two new failing tests after these changes:
> - MCSnapshotTest >> #testCreation
> - MCChangeNotificationTest >> #testExtMethodModified

I guess these failures depend on the order of the execution of the tests. 
For some reason #mockClassExtension is removed and not restored, which is 
the cause of the failure. Restoring the method makes the tests pass.

>
> Also, some tests sometimes fail, because they ran for more than five seconds 
> (on my pc with Cog). The cause of the slowdown is MCFileBasedRepository >> 
> #readableFileNames's #difference: calculation (O(n*m) runtime). In theory it 
> would be faster (O(n+m)) to create a Set from the argument, but calculating 
> the hash (and the equality) of
> MCVersionName is too slow to make this faster in practical cases.

The main cause of the slowdown was that the package cache was not cleaned 
up after the test runs. I had a few hundred versions of 
Tests-Monticello-Mocks in my package cache, and 33 new was generated after 
each test run. I commited a few performance improvements, which results in 
25% faster (the actual speedup depends on the size of your package cache) 
test runs (All MC tests) even with the fixed package cache cleanup.


Levente

>
>
> Levente
>
>



More information about the Squeak-dev mailing list