This is really interesting. I would be interested to see why ClassSessionHandler(FreeTypeSettings) takes 2/3 of the computation. Without it we would be 100 ms.
Stef On Thu, Jul 27, 2017 at 2:49 PM, Sven Van Caekenberghe <s...@stfx.eu> wrote: > Hi, > > I instrumented WorkingSession with a log collection that holds timing info > for each #startUp: executed. In a clean Pharo 6 image, 62 were run. Most of > them resulted in a 0ms execution time (#millisecondsToRun: i.e. they were > faster than 1ms). Here is the list of the non zero ones: > > 1ms startup:true a ClassSessionHandler(ProcessorScheduler) > 1ms startup:true a ClassSessionHandler(OSPlatform) > 6ms startup:true a ClassSessionHandler(ExternalObject) > 1ms startup:true a ClassSessionHandler(DiskStore) > 5ms startup:true a ClassSessionHandler(SmalltalkImage) > 9ms startup:true a ClassSessionHandler(DisplayScreen) > 1ms startup:true a ClassSessionHandler(Cursor) > 41ms startup:true a ClassSessionHandler(FT2Handle) > 238ms startup:true a ClassSessionHandler(FreeTypeSettings) > 1ms startup:true a ClassSessionHandler(WorldMorph) > 14ms startup:true a ClassSessionHandler(OmSessionStore) > > For a total of 318ms > > I think being able to inspect the WorkingSession and see this list (ordered, > with timing info) would be generally useful (and low cost). Even headless, we > could access the list using eval. > > Sven > > PS: The code of SessionManager/WorkingSession was very readable, well done > Christophe ! > > > >