Monticello working slowly - a fix?

Ben Schroeder bschroeder at procro.com
Tue Mar 2 21:15:00 UTC 2004


Hi Avi,

Thanks, that fixes it!  We're down to only a few seconds.

We were exploring some more, and it looks like there are simply many, many paths through our version history tree, due possibly to whatever number of merges we had done (not the majority of the updates, but still several).  If I understand your fix correctly, the sorter now doesn't go down paths that it has already seen, making the search much smaller.

(I'm cc'ing this to squeak-dev - hope you don't mind - to close the loop there as well.)

Thanks again,
Ben Schroeder

> -----Original Message-----
> From: Avi Bryant [mailto:avi at beta4.com]
> Sent: Tuesday, March 02, 2004 4:06 PM
> To: Ben Schroeder
> Subject: Re: Monticello working slowly - a fix?
> 
> 
> Hi Ben,
> 
> Try these two changes to MCVersionSorter.  It still passes my tests 
> with them, but it should be faster.
> 
> addToCurrentLayer: aVersionInfo
> 	| layer |
> 	layer _ layers at: depthIndex.
> 	(layer includes: aVersionInfo) ifFalse:
> 		[depths at: aVersionInfo ifPresent:
> 			[:i |
> 			i < depthIndex
> 				ifTrue: [(layers at: i) remove: 
> aVersionInfo]
> 				ifFalse: [^ false]].
> 		layer add: aVersionInfo.
> 		depths at: aVersionInfo put: depthIndex.
> 		^ true].
> 	^ false
> 
> addVersionInfo: aVersionInfo
> 	(self addToCurrentLayer: aVersionInfo) ifTrue:
> 		[self pushLayer.
> 		aVersionInfo ancestors do: [:ea | self 
> addVersionInfo: ea].
> 		self popLayer]
> 
> 



More information about the Squeak-dev mailing list