Yes, looking at the stack in the profiler, there is a buffered stream missing in there. The thing is that source/changes file reading/writing required special attention in the migration (or the image became unusable :)). I'll fix it tomorrow first thing in the morning, if you can wait a couple of hours ;) Guille On Sun, Mar 18, 2018 at 10:54 AM, Sven Van Caekenberghe <sven@stfx.eu> wrote:
On 18 Mar 2018, at 00:03, Cyril Ferlicot <cyril.ferlicot@gmail.com> wrote:
Time to execute: SystemNavigation new browseMethodsWithSourceString: 'Method source with it' matchCase: false
Pharo 6.1: 2480ms
Pharo 7: 132041ms
You didn't type a digit too much, did you ? That is 2 orders of magnitude, maybe on Windows ;-)
https://pharo.manuscript.com/f/cases/21612/Performances- regression-on-source-code-search
I can confirm that the slowdown pre/post recent file/stream changes in Pharo 7 is about 1 order of magnitude (x10).
There is however no fundamental problem, since the following are equally fast (~ 1s) in both cases (using old/new streams).
SmalltalkImage current sourcesFile asFileReference readStreamDo: [ :in | [ in atEnd ] whileFalse: [ in next ] ]
I think there is a ZnBufferedReadStream missing (between the ZnCharacterReadStream and the primitive File stream) in SourceFile>>#tryOpenReadOnly:
Sven
-- Guille Polito Research Engineer French National Center for Scientific Research - *http://www.cnrs.fr* <http://www.cnrs.fr/> *Web:* *http://guillep.github.io* <http://guillep.github.io/> *Phone: *+33 06 52 70 66 13