Hi,
I made these small changes so that "profile it" open a TimeProfiler. I also added a documentation method that is displayed when no method are selected. This doc need review. It's a summary of the chapter on profiling to explain the spy results. Last remark, there is still a bug when selecting for instance the line **Tree** (see below). I think that was happening too before but right now I can't check (need to leave, I'll open a ticket later if needed). hope it helps... -- Cédrick VM: unix - i686 - linux-gnu - Pharo0.1 of 16 May 2008 [latest update: #10074] Image: Pharo1.0rc1 [Latest update: #10492] SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir /home/cedrick/Bureau/Poker/prjPoker-02nov Trusted Dir /home/cedrick/Bureau/Poker/prjPoker-02nov/secure Untrusted Dir /home/cedrick/Bureau/Poker/prjPoker-02nov/My Squeak TimeProfileBrowser(Object)>>doesNotUnderstand: #allInstVarNames Receiver: a TimeProfileBrowser Arguments and temporary variables: aMessage: allInstVarNames exception: MessageNotUnderstood: TimeProfileBrowser>>allInstVarNames resumeValue: nil Receiver's instance variables: dependents: a DependentsArray(a SystemWindow(3666) a PluggableListMorph(1080) a...etc... contents: nil currentCompiledMethod: nil contentsSymbol: #source systemOrganizer: ('AST-Core-Matching') ('AST-Core-Nodes') ('AST-Core-Parser') (...etc... classOrganizer: nil metaClassOrganizer: nil systemCategoryListIndex: 0 classListIndex: 0 messageCategoryListIndex: 0 messageListIndex: 2 editSelection: #editMessage metaClassIndicated: false messageList: an OrderedCollection(' - 14 tallies, 37 msec.' '' '**Tree**' '----...etc... autoSelectString: nil growable: nil selectedClass: Integer selectedSelector: #factorial block: MessageSend(#runBlock:pollingEvery: -> a TimeProfileBrowser) tally: a MessageTally SHParserST80>>initializeInstanceVariables Receiver: a SHParserST80 Arguments and temporary variables: Receiver's instance variables: classOrMetaClass: a TimeProfileBrowser source: '"Choose a method to see its implementation ****General information...etc... workspace: nil arguments: a Dictionary() sourcePosition: 700 currentToken: nil currentTokenFirst: Character space temporaries: a Dictionary() instanceVariables: a Set() errorBlock: nil currentTokenSourcePosition: nil blockDepth: 0 bracketDepth: 0 ranges: an OrderedCollection(a SHRange) environment: Smalltalk SHParserST80>>parse: Receiver: a SHParserST80 Arguments and temporary variables: isAMethod: true Receiver's instance variables: classOrMetaClass: a TimeProfileBrowser source: '"Choose a method to see its implementation ****General information...etc... workspace: nil arguments: a Dictionary() sourcePosition: 700 currentToken: nil currentTokenFirst: Character space temporaries: a Dictionary() instanceVariables: a Set() errorBlock: nil currentTokenSourcePosition: nil blockDepth: 0 bracketDepth: 0 ranges: an OrderedCollection(a SHRange) environment: Smalltalk SHParserST80>>parse Receiver: a SHParserST80 Arguments and temporary variables: Receiver's instance variables: classOrMetaClass: a TimeProfileBrowser source: '"Choose a method to see its implementation ****General information...etc... workspace: nil arguments: a Dictionary() sourcePosition: 700 currentToken: nil currentTokenFirst: Character space temporaries: a Dictionary() instanceVariables: a Set() errorBlock: nil currentTokenSourcePosition: nil blockDepth: 0 bracketDepth: 0 ranges: an OrderedCollection(a SHRange) environment: Smalltalk SHParserST80>>rangesIn:classOrMetaClass:workspace:environment: Receiver: a SHParserST80 Arguments and temporary variables: sourceString: '"Choose a method to see its implementation ****General infor...etc... aBehaviour: a TimeProfileBrowser aWorkspace: nil anEnvironmentOrNil: nil Receiver's instance variables: classOrMetaClass: a TimeProfileBrowser source: '"Choose a method to see its implementation ****General information...etc... workspace: nil arguments: a Dictionary() sourcePosition: 700 currentToken: nil currentTokenFirst: Character space temporaries: a Dictionary() instanceVariables: a Set() errorBlock: nil currentTokenSourcePosition: nil blockDepth: 0 bracketDepth: 0 ranges: an OrderedCollection(a SHRange) environment: Smalltalk SHTextStylerST80>>rangesIn:setWorkspace: Receiver: a SHTextStylerST80 Arguments and temporary variables: aText: a Text for '"Choose a method to see its implementation ****General i...etc... aBoolean: true Receiver's instance variables: sem: nil backgroundProcess: nil text: a Text for '"Choose a method to see its implementation ****General in...etc... monitor: a Monitor view: a PluggableShoutMorph(625) stylingEnabled: true classOrMetaClass: a TimeProfileBrowser workspace: nil font: a LogicalFont familyName: DejaVu Sans Mono emphasis: nil pointSize: 9 ...etc... parser: a SHParserST80 formatAssignments: true environment: nil sourceMap: nil processedSourceMap: nil pixelHeight: 13.33333333333333 SHTextStylerST80>>privateStyle: Receiver: a SHTextStylerST80 Arguments and temporary variables: aText: a Text for '"Choose a method to see its implementation _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project ParagraphEditor-tallySelection.st (1K) Download Attachment TimeProfileBrowser-selectedMessage.st (960 bytes) Download Attachment TimeProfileBrowser class-helpMessage.st (1K) Download Attachment |
open a ticket.
Your changes are neat. Stef On Nov 13, 2009, at 6:29 PM, Cédrick Béler wrote: > Hi, > > I made these small changes so that "profile it" open a TimeProfiler. > > I also added a documentation method that is displayed when no method are selected. This doc need review. It's a summary of the chapter on profiling to explain the spy results. > > Last remark, there is still a bug when selecting for instance the line **Tree** (see below). I think that was happening too before but right now I can't check (need to leave, I'll open a ticket later if needed). > > hope it helps... > > -- > Cédrick > > > > VM: unix - i686 - linux-gnu - Pharo0.1 of 16 May 2008 [latest update: #10074] > Image: Pharo1.0rc1 [Latest update: #10492] > > SecurityManager state: > Restricted: false > FileAccess: true > SocketAccess: true > Working Dir /home/cedrick/Bureau/Poker/prjPoker-02nov > Trusted Dir /home/cedrick/Bureau/Poker/prjPoker-02nov/secure > Untrusted Dir /home/cedrick/Bureau/Poker/prjPoker-02nov/My Squeak > > TimeProfileBrowser(Object)>>doesNotUnderstand: #allInstVarNames > Receiver: a TimeProfileBrowser > Arguments and temporary variables: > aMessage: allInstVarNames > exception: MessageNotUnderstood: TimeProfileBrowser>>allInstVarNames > resumeValue: nil > Receiver's instance variables: > dependents: a DependentsArray(a SystemWindow(3666) a PluggableListMorph(1080) a...etc... > contents: nil > currentCompiledMethod: nil > contentsSymbol: #source > systemOrganizer: ('AST-Core-Matching') > ('AST-Core-Nodes') > ('AST-Core-Parser') > (...etc... > classOrganizer: nil > metaClassOrganizer: nil > systemCategoryListIndex: 0 > classListIndex: 0 > messageCategoryListIndex: 0 > messageListIndex: 2 > editSelection: #editMessage > metaClassIndicated: false > messageList: an OrderedCollection(' - 14 tallies, 37 msec.' '' '**Tree**' '----...etc... > autoSelectString: nil > growable: nil > selectedClass: Integer > selectedSelector: #factorial > block: MessageSend(#runBlock:pollingEvery: -> a TimeProfileBrowser) > tally: a MessageTally > > SHParserST80>>initializeInstanceVariables > Receiver: a SHParserST80 > Arguments and temporary variables: > > Receiver's instance variables: > classOrMetaClass: a TimeProfileBrowser > source: '"Choose a method to see its implementation > > > ****General information...etc... > workspace: nil > arguments: a Dictionary() > sourcePosition: 700 > currentToken: nil > currentTokenFirst: Character space > temporaries: a Dictionary() > instanceVariables: a Set() > errorBlock: nil > currentTokenSourcePosition: nil > blockDepth: 0 > bracketDepth: 0 > ranges: an OrderedCollection(a SHRange) > environment: Smalltalk > > SHParserST80>>parse: > Receiver: a SHParserST80 > Arguments and temporary variables: > isAMethod: true > Receiver's instance variables: > classOrMetaClass: a TimeProfileBrowser > source: '"Choose a method to see its implementation > > > ****General information...etc... > workspace: nil > arguments: a Dictionary() > sourcePosition: 700 > currentToken: nil > currentTokenFirst: Character space > temporaries: a Dictionary() > instanceVariables: a Set() > errorBlock: nil > currentTokenSourcePosition: nil > blockDepth: 0 > bracketDepth: 0 > ranges: an OrderedCollection(a SHRange) > environment: Smalltalk > > SHParserST80>>parse > Receiver: a SHParserST80 > Arguments and temporary variables: > > Receiver's instance variables: > classOrMetaClass: a TimeProfileBrowser > source: '"Choose a method to see its implementation > > > ****General information...etc... > workspace: nil > arguments: a Dictionary() > sourcePosition: 700 > currentToken: nil > currentTokenFirst: Character space > temporaries: a Dictionary() > instanceVariables: a Set() > errorBlock: nil > currentTokenSourcePosition: nil > blockDepth: 0 > bracketDepth: 0 > ranges: an OrderedCollection(a SHRange) > environment: Smalltalk > > SHParserST80>>rangesIn:classOrMetaClass:workspace:environment: > Receiver: a SHParserST80 > Arguments and temporary variables: > sourceString: '"Choose a method to see its implementation > > > ****General infor...etc... > aBehaviour: a TimeProfileBrowser > aWorkspace: nil > anEnvironmentOrNil: nil > Receiver's instance variables: > classOrMetaClass: a TimeProfileBrowser > source: '"Choose a method to see its implementation > > > ****General information...etc... > workspace: nil > arguments: a Dictionary() > sourcePosition: 700 > currentToken: nil > currentTokenFirst: Character space > temporaries: a Dictionary() > instanceVariables: a Set() > errorBlock: nil > currentTokenSourcePosition: nil > blockDepth: 0 > bracketDepth: 0 > ranges: an OrderedCollection(a SHRange) > environment: Smalltalk > > SHTextStylerST80>>rangesIn:setWorkspace: > Receiver: a SHTextStylerST80 > Arguments and temporary variables: > aText: a Text for '"Choose a method to see its implementation > > > ****General i...etc... > aBoolean: true > Receiver's instance variables: > sem: nil > backgroundProcess: nil > text: a Text for '"Choose a method to see its implementation > > > ****General in...etc... > monitor: a Monitor > view: a PluggableShoutMorph(625) > stylingEnabled: true > classOrMetaClass: a TimeProfileBrowser > workspace: nil > font: a LogicalFont > familyName: DejaVu Sans Mono > emphasis: nil > pointSize: 9 > ...etc... > parser: a SHParserST80 > formatAssignments: true > environment: nil > sourceMap: nil > processedSourceMap: nil > pixelHeight: 13.33333333333333 > > SHTextStylerST80>>privateStyle: > Receiver: a SHTextStylerST80 > Arguments and temporary variables: > aText: a Text for '"Choose a method to see its implementation > <ParagraphEditor-tallySelection.st><TimeProfileBrowser-selectedMessage.st><TimeProfileBrowser class-helpMessage.st>_______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
http://code.google.com/p/pharo/issues/detail?id=1449
_______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Free forum by Nabble | Edit this page |