Note that HelpBrowser has a "Refresh" button so it should clear the cache.
Laurent On Sat, Apr 30, 2011 at 4:27 PM, Mariano Martinez Peck < [email protected]> wrote: > in fact cannot the cache be class side? beucase now each time you do > HelpBrowser open, you compute again the cache....but I am not sure if they > should change amont different opened browsers > > cheers > > mariano > > > On Sat, Apr 30, 2011 at 5:07 PM, Alexandre Bergel <[email protected] > > wrote: > >> Yes, but this depends what is the expected behavior of the browser. I like >> the Agile approach that says you're done when all the tests are green :-) >> >> Alexandre >> >> >> On 30 Apr 2011, at 10:02, Mariano Martinez Peck wrote: >> >> > Yes, but I have no idea. Another thing is that now HelpBrowser should >> implement something like: >> > >> > HelpBrowser >> cleanUp >> > self resetChache >> > >> > >> resetCache >> > helpTopicCache := nil >> > >> > So that the class is automatically cleaned in #cleanUpForRelease and >> friends... right now since Smalltalk cleanUp sends to all classes which >> understand such method, just implemented that should be enough. >> > >> > Cheers >> > >> > Mariano >> > >> > >> > On Sat, Apr 30, 2011 at 4:58 PM, Alexandre Bergel < >> [email protected]> wrote: >> > You're right Mariano. However, I do not know if the help browser gets >> updated if you have a browser opened and add a new help in the system. In >> any case, this is a requirement that is not formalized by the unit tests. >> > >> > I think that ideally, the reset cache should be done when receiving an >> event of a class creation that is a help. >> > >> > Alexandre >> > >> > >> > On 30 Apr 2011, at 09:29, Mariano Martinez Peck wrote: >> > >> > > Cool! Thanks Alexandre. Now...the problem with the cache is always the >> same...when to invalidate them. >> > > In this case, when do I need to set helpTopicCache to nil. I guess >> that if you create a help, then it is "automatically" detected when you open >> the browser. >> > > Now, you have to explicitly flush the cache, haven't you? So...is >> there some documentation of HelpSystem that should be updated to reflect >> that ? >> > > >> > > Thanks >> > > >> > > On Sat, Apr 30, 2011 at 3:15 AM, Alexandre Bergel < >> [email protected]> wrote: >> > > > MessageTally time: [HelpBrowser open] between 2 seconds in Cog and >> with a regular VM between 6 and 8.... >> > > > is there an easy way to improve it ? >> > > > >> > > > Alexandre, do you want another place where to put a cache like >> Metacello's currentVersion? ;) >> > > >> > > :-) >> > > Sure. Easy. >> > > >> > > SystemHelp>>allSystemHelpPragmas takes time. When you open a browser, >> the method HelpBrowser>>open is called once and >> SystemHelp>>allSystemHelpPragmas twice. Easy to suspect that a cache is >> missing. >> > > >> > > So, if you define >> > > -=-=-=-=-=-=-=-=-= >> > > HelpBrowser>>helpTopic >> > > ^ helpTopicCache ifNil: [ helpTopicCache := rootTopic >> asHelpTopic ] >> > > -=-=-=-=-=-=-=-=-= >> > > >> > > and adapt HelpBrowser>>refresh you win 50% of execution time. >> > > >> > > Here is it: >> > > >> > > >> > > http://code.google.com/p/pharo/issues/detail?id=4126 >> > > >> > > Before this fix, I have: >> > > [HelpBrowser open] timeToRun >> > > => 6099 >> > > >> > > After the fix I have: >> > > [HelpBrowser open] timeToRun >> > > => 3094 >> > > >> > > Naturally, tests are kept green. >> > > >> > > Cheers, >> > > Alexandre >> > > >> > > -- >> > > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: >> > > Alexandre Bergel http://www.bergel.eu >> > > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > -- >> > > Mariano >> > > http://marianopeck.wordpress.com >> > > >> > >> > -- >> > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: >> > Alexandre Bergel http://www.bergel.eu >> > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > -- >> > Mariano >> > http://marianopeck.wordpress.com >> > >> >> -- >> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: >> Alexandre Bergel http://www.bergel.eu >> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. >> >> >> >> >> >> >> > > > -- > Mariano > http://marianopeck.wordpress.com > >
