Status: Accepted
Owner: [hidden email] Labels: Type-Squeak New issue 4135 by [hidden email]: HelpSystem improvement on speed http://code.google.com/p/pharo/issues/detail?id=4135 see http://lists.squeakfoundation.org/pipermail/squeak-dev/2011-April/159478.html _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Comment #1 on issue 4135 by [hidden email]: HelpSystem improvement on speed http://code.google.com/p/pharo/issues/detail?id=4135 Levente Uzonyi uploaded a new version of HelpSystem-Core to project The Trunk: http://source.squeak.org/trunk/HelpSystem-Core-ul.55.mcz ==================== Summary ==================== Name: HelpSystem-Core-ul.55 Author: ul Time: 30 April 2011, 3:46:54.613 am UUID: c08fa36e-76fb-f54a-8747-356b8be3e315 Ancestors: HelpSystem-Core-tbn.54 - avoid possible speed degradation for large APIs - minor refactoring for cleaner and faster code =============== Diff against HelpSystem-Core-tbn.54 =============== Item was changed: ----- Method: ClassAPIHelpBuilder>>build (in category 'building') ----- build + CurrentReadOnlySourceFiles cacheDuring: [ + topicToBuild := (HelpTopic named: rootToBuildFrom name). + topicToBuild icon: (HelpIcons iconNamed: #pageIcon). + topicToBuild contents: rootToBuildFrom comment. - | instanceSide classSide | - topicToBuild := (HelpTopic named: rootToBuildFrom name). - topicToBuild icon: (HelpIcons iconNamed: #pageIcon). - topicToBuild contents: rootToBuildFrom comment. + addMethods ifTrue: [ self buildSubnodesForMethods ]. + addSubclasses ifTrue: [ self buildSubnodesForSubclasses ] ]. - addMethods ifTrue: [ self buildSubnodesForMethods ]. - addSubclasses ifTrue: [ self buildSubnodesForSubclasses ]. ! Item was changed: ----- Method: ClassAPIHelpBuilder>>buildMethodTopicsOn:for: (in category 'private building') ----- buildMethodTopicsOn: topic for: aClass - |stream comments methodComment| - stream := String new writeStream. - aClass selectors asSortedCollection do: - [:selector | - stream - nextPutAll: aClass name; - nextPutAll: '>>'; - nextPutAll: selector asString; - cr. - comments := aClass commentsAt: selector. - methodComment := (comments size = 0) - ifTrue: [ 'Method has no comment.' ] - ifFalse: [ comments first ]. - - stream nextPutAll: methodComment;cr;cr. - ]. - topic contents: stream contents. + topic contents: (String streamContents: [ :stream | + aClass selectors sort do: [ :selector | + stream + nextPutAll: aClass name; + nextPutAll: '>>'; + nextPutAll: selector asString; + cr; + nextPutAll: ( + (aClass commentsAt: selector) + at: 1 + ifAbsent: [ 'Method has no comment.' ]); + cr; cr ] ])! - ! _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Comment #2 on issue 4135 by [hidden email]: HelpSystem improvement on speed http://code.google.com/p/pharo/issues/detail?id=4135 So what are we supposed to do? _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Comment #3 on issue 4135 by [hidden email]: HelpSystem improvement on speed http://code.google.com/p/pharo/issues/detail?id=4135 what is CurrentReadOnlySourceFiles ? _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Comment #4 on issue 4135 by [hidden email]: HelpSystem improvement on speed http://code.google.com/p/pharo/issues/detail?id=4135 To me this looks like a really bad idea to make the fact that there are SourceFiles read in a certain way to clients that should not even know where source is stored... This is a fundamental break in abstraction. _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Comment #5 on issue 4135 by [hidden email]: HelpSystem improvement on speed http://code.google.com/p/pharo/issues/detail?id=4135 Yes! _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Comment #6 on issue 4135 by [hidden email]: HelpSystem improvement on speed http://code.google.com/p/pharo/issues/detail?id=4135 Sorry, I just saw this on squeak-dev without any deeper look at the code itself. Just opened the issue so it cant get lost. The #buildMethodTopicsOn:for: looks cleaner than mine - maybe we should harvest it. Dont know what CurrentReadOnlySourceFiles is either, looks like I should install Squeak... _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Comment #7 on issue 4135 by [hidden email]: HelpSystem improvement on speed http://code.google.com/p/pharo/issues/detail?id=4135 Don't be sorry! I do the same, We are all running against time and this bug traker is also for that. _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Updates:
Status: WontFix Comment #8 on issue 4135 by [hidden email]: HelpSystem improvement on speed http://code.google.com/p/pharo/issues/detail?id=4135 (No comment was entered for this change.) _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Free forum by Nabble | Edit this page |