I figured a specific bottleneck of the current implementation of MC is the 
uniqe version name check.

On gemstone this takes 4seconds! for the pharo inbox, definitely too long...
The culprit can be found here

MCFileBasedRepository >> includesVersionNamed: aString
        ^ self allVersionNames includes: aString

assuming that the PharoInbox consists of quite some versions (currently 947) 
this is quite some overhead.
I would suggest the following improvements:

- add a specific includesVersionNamed: server-side service
- add a simpler allVersionNames service that returns a newline separated list 
of filenames (not an html doc!)


By having specific MC repository implementations everything would be 100% 
backwards compatible since no services are removed nor is the default http 
repository implementation changed.

what do you think?

Reply via email to