Tales from the Crypt^H^H^H^H^HSimulator

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Tales from the Crypt^H^H^H^H^HSimulator

Eliot Miranda-2
Hi All,

    in working on the compactor in the simulator I'm observing some loooong pauses due to some, um, interesting image code.  For example...


   -16r31A8 IdentityDictionary>scanFor: 16r7333E8: a(n) IdentityDictionary
   -16r3184 IdentityDictionary(Dictionary)>at:ifAbsent: 16r7333E8: a(n) IdentityDictionary
   -16r3160 MorphExtension>valueOfProperty: 16r4341A0: a(n) MorphExtension
   -16r3140 PasteUpMorph(Morph)>valueOfProperty: 16r898788: a(n) PasteUpMorph
   -16r3120 PasteUpMorph(Morph)>eventBubbleFilters 16r898788: a(n) PasteUpMorph
   -16r30F4 PasteUpMorph(Morph)>sendFilterEventBubble:for: 16r898788: a(n) PasteUpMorph
   -16r30CC PasteUpMorph(Morph)>handleEvent: 16r898788: a(n) PasteUpMorph
   -16r30A0 [] in MorphicEventDispatcher>doBubblingForFocusEvent:with: 16r2638F8: a(n) MorphicEventDispatcher
   -16r3080 PasteUpMorph(Morph)>withAllOwnersDo: 16r898788: a(n) PasteUpMorph
   -16r3060 FillInTheBlankMorph(Morph)>allOwnersDo: 16r9A498: a(n) FillInTheBlankMorph
   -16r3038 MorphicEventDispatcher>doBubblingForFocusEvent:with: 16r2638F8: a(n) MorphicEventDispatcher
   -16r3010 MorphicEventDispatcher>dispatchFocusEventFully:with: 16r2638F8: a(n) MorphicEventDispatcher
   -16r2B38 FillInTheBlankMorph(DialogWindow)>processFocusEvent:using: 16r9A498: a(n) FillInTheBlankMorph
   -16r2B14 FillInTheBlankMorph(Morph)>processFocusEvent: 16r9A498: a(n) FillInTheBlankMorph
   -16r2AE8 [] in HandMorph>sendFocusEvent:to:clear: 16rC85548: a(n) HandMorph
   -16r2AC4 BlockClosure>ensure: 16r263860: a(n) BlockClosure
   -16r2AA0 MouseEvent(MorphicEvent)>becomeActiveDuring: 16r2634C0: a(n) MouseEvent
   -16r2A74 [] in HandMorph>sendFocusEvent:to:clear: 16rC85548: a(n) HandMorph
   -16r2A50 BlockClosure>ensure: 16r263768: a(n) BlockClosure
   -16r2A2C HandMorph>becomeActiveDuring: 16rC85548: a(n) HandMorph
   -16r2A00 [] in HandMorph>sendFocusEvent:to:clear: 16rC85548: a(n) HandMorph
   -16r29DC BlockClosure>ensure: 16r263670: a(n) BlockClosure
   -16r29B8 PasteUpMorph>becomeActiveDuring: 16r898788: a(n) PasteUpMorph
   -16r2990 HandMorph>sendFocusEvent:to:clear: 16rC85548: a(n) HandMorph
   -16r2960 HandMorph>sendEvent:focus:clear: 16rC85548: a(n) HandMorph
   -16r2938 HandMorph>sendMouseEvent: 16rC85548: a(n) HandMorph
   -16r2914 HandMorph>handleEvent: 16rC85548: a(n) HandMorph
   -16r28E8 MouseOverHandler>processMouseOver: 16r2D08BC8: a(n) MouseOverHandler
   -16r28B8 HandMorph>processEvents 16rC85548: a(n) HandMorph
   -16r2898 [] in WorldState>doOneCycleNowFor: 16r126DFF8: a(n) WorldState
   -16r2870 Array(SequenceableCollection)>do: 16r434190: a(n) Array
   -16r2850 WorldState>handsDo: 16r126DFF8: a(n) WorldState
   -16r282C WorldState>doOneCycleNowFor: 16r126DFF8: a(n) WorldState
   -16r280C WorldState>doOneCycleFor: 16r126DFF8: a(n) WorldState
   -16r2330 WorldState>doOneSubCycleFor: 16r126DFF8: a(n) WorldState
   -16r2310 PasteUpMorph>doOneSubCycle 16r898788: a(n) PasteUpMorph
   -16r22E8 [] in FillInTheBlankMorph(DialogWindow)>getUserResponse 16r9A498: a(n) FillInTheBlankMorph
   -16r22C8 UndefinedObject(Object)>in: 16r41A280: a(n) UndefinedObject
   -16r22A0 [] in FillInTheBlankMorph(DialogWindow)>getUserResponse 16r9A498: a(n) FillInTheBlankMorph
   -16r2280 UndefinedObject(Object)>in: 16r41A280: a(n) UndefinedObject
   -16r2254 FillInTheBlankMorph(DialogWindow)>getUserResponse 16r9A498: a(n) FillInTheBlankMorph
   -16r2234 FillInTheBlankMorph class>request:initialAnswer:centerAt:inWorld:onCancelReturn:acceptOnCR:answerExtent: 16r12232B8: a(n) FillInTheBlankMorph class
   -16r21FC FillInTheBlankMorph class>request:initialAnswer:centerAt:inWorld:onCancelReturn:acceptOnCR: 16r12232B8: a(n) FillInTheBlankMorph class
   -16r21C8 FillInTheBlankMorph class>request:initialAnswer:centerAt:inWorld:onCancelReturn: 16r12232B8: a(n) FillInTheBlankMorph class
   -16r2198 FillInTheBlankMorph class>request:initialAnswer:centerAt:inWorld: 16r12232B8: a(n) FillInTheBlankMorph class
   -16r216C FillInTheBlankMorph class>request:initialAnswer:centerAt: 16r12232B8: a(n) FillInTheBlankMorph class
   -16r2144 FillInTheBlankMorph class>request:initialAnswer: 16r12232B8: a(n) FillInTheBlankMorph class
   -16r2120 MorphicUIManager>request:initialAnswer: 16r821990: a(n) MorphicUIManager
   -16r20F8 SmalltalkImage>getFileNameFromUserSuggesting: 16r79FC80: a(n) SmalltalkImage
   -16r20D8 SmalltalkImage>getFileNameFromUser 16r79FC80: a(n) SmalltalkImage
   -16r20B8 SmalltalkImage>saveAs 16r79FC80: a(n) SmalltalkImage
   -16r209C TheWorldMainDockingBar>saveImageAs 16r739530: a(n) TheWorldMainDockingBar
   -16r2078 [] in MenuItemMorph>invokeWithEvent: 16r16E7B60: a(n) MenuItemMorph
   -16r2054 BlockClosure>ensure: 16r9DC50: a(n) BlockClosure
   -16r2030 CursorWithMask(Cursor)>showWhile: 16r70B1C0: a(n) CursorWithMask
   -16r200C MenuItemMorph>invokeWithEvent: 16r16E7B60: a(n) MenuItemMorph
scavenging(676)...scavenging(677)...scavenging(678)...scavenging(679)...scavenging(680)...scavenging(681)...scavenging(682)...

and so on.

It seems that doBubblingForFocusEvent:with hides a /lot/ of computation.  I wonder if the system might be more responsive if this were to receive some attention.
_,,,^..^,,,_
best, Eliot


Reply | Threaded
Open this post in threaded view
|

Re: Tales from the Crypt^H^H^H^H^HSimulator

Eliot Miranda-2
and I mean loooong...

.scavenging(722)...scavenging(723)...scavenging(724)...scavenging(725)...scavenging(726)...scavenging(727)...scavenging(728)...scavenging(729)...
   -16r3318 IdentityDictionary>scanFor: 16rE7140: a(n) IdentityDictionary
   -16r32F4 IdentityDictionary(Dictionary)>at:ifAbsent: 16rE7140: a(n) IdentityDictionary
   -16r32D0 MorphExtension>valueOfProperty: 16rA20C8: a(n) MorphExtension
   -16r32B0 Morph>valueOfProperty: 16r9CEB8: a(n) Morph
   -16r3290 Morph>eventBubbleFilters 16r9CEB8: a(n) Morph
   -16r3264 Morph>sendFilterEventBubble:for: 16r9CEB8: a(n) Morph
   -16r323C Morph>handleEvent: 16r9CEB8: a(n) Morph
   -16r3214 MorphicEventDispatcher>dispatchEvent:withHandler:withMorph: 16r2D5C08: a(n) MorphicEventDispatcher
   -16r31EC MorphicEventDispatcher>dispatchDefault:with: 16r2D5C08: a(n) MorphicEventDispatcher
   -16r31C8 MorphicEventDispatcher>dispatchEvent:with: 16r2D5C08: a(n) MorphicEventDispatcher
   -16r31A0 Morph>processEvent:using: 16r9CEB8: a(n) Morph
   -16r3170 [] in MorphicEventDispatcher>dispatchEvent:toSubmorphsOf: 16r2D5C08: a(n) MorphicEventDispatcher
   -16r3148 Array(SequenceableCollection)>do: 16r9D400: a(n) Array
   -16r3128 FillInTheBlankMorph(Morph)>submorphsDo: 16r9A498: a(n) FillInTheBlankMorph
   -16r3104 MorphicEventDispatcher>dispatchEvent:toSubmorphsOf: 16r2D5C08: a(n) MorphicEventDispatcher
   -16r30D8 MorphicEventDispatcher>dispatchEvent:withHandler:withMorph: 16r2D5C08: a(n) MorphicEventDispatcher
   -16r30B0 MorphicEventDispatcher>dispatchDefault:with: 16r2D5C08: a(n) MorphicEventDispatcher
   -16r308C MorphicEventDispatcher>dispatchEvent:with: 16r2D5C08: a(n) MorphicEventDispatcher
   -16r3064 FillInTheBlankMorph(Morph)>processEvent:using: 16r9A498: a(n) FillInTheBlankMorph
   -16r3038 MorphicEventDispatcher>doProcessingForFocusEvent:with: 16r2D5C08: a(n) MorphicEventDispatcher
   -16r3010 MorphicEventDispatcher>dispatchFocusEventFully:with: 16r2D5C08: a(n) MorphicEventDispatcher
   -16r2AF4 FillInTheBlankMorph(DialogWindow)>processFocusEvent:using: 16r9A498: a(n) FillInTheBlankMorph
   -16r2AD0 FillInTheBlankMorph(Morph)>processFocusEvent: 16r9A498: a(n) FillInTheBlankMorph
   -16r2AA4 [] in HandMorph>sendFocusEvent:to:clear: 16rC85548: a(n) HandMorph
   -16r2A80 BlockClosure>ensure: 16r2D5B70: a(n) BlockClosure
   -16r2A5C MouseEvent(MorphicEvent)>becomeActiveDuring: 16r2D57D0: a(n) MouseEvent
   -16r2A30 [] in HandMorph>sendFocusEvent:to:clear: 16rC85548: a(n) HandMorph
   -16r2A0C BlockClosure>ensure: 16r2D5A78: a(n) BlockClosure
   -16r29E8 HandMorph>becomeActiveDuring: 16rC85548: a(n) HandMorph
   -16r29BC [] in HandMorph>sendFocusEvent:to:clear: 16rC85548: a(n) HandMorph
   -16r2998 BlockClosure>ensure: 16r2D5980: a(n) BlockClosure
   -16r2974 PasteUpMorph>becomeActiveDuring: 16r898788: a(n) PasteUpMorph
   -16r294C HandMorph>sendFocusEvent:to:clear: 16rC85548: a(n) HandMorph
   -16r291C HandMorph>sendEvent:focus:clear: 16rC85548: a(n) HandMorph
   -16r28F4 HandMorph>sendMouseEvent: 16rC85548: a(n) HandMorph
   -16r28D0 HandMorph>handleEvent: 16rC85548: a(n) HandMorph
   -16r28A4 MouseOverHandler>processMouseOver: 16r2D08BC8: a(n) MouseOverHandler
   -16r2874 HandMorph>processEvents 16rC85548: a(n) HandMorph
   -16r2854 [] in WorldState>doOneCycleNowFor: 16r126DFF8: a(n) WorldState
   -16r282C Array(SequenceableCollection)>do: 16r434190: a(n) Array
   -16r280C WorldState>handsDo: 16r126DFF8: a(n) WorldState
   -16r2374 WorldState>doOneCycleNowFor: 16r126DFF8: a(n) WorldState
   -16r2354 WorldState>doOneCycleFor: 16r126DFF8: a(n) WorldState
   -16r2330 WorldState>doOneSubCycleFor: 16r126DFF8: a(n) WorldState
   -16r2310 PasteUpMorph>doOneSubCycle 16r898788: a(n) PasteUpMorph
   -16r22E8 [] in FillInTheBlankMorph(DialogWindow)>getUserResponse 16r9A498: a(n) FillInTheBlankMorph
   -16r22C8 UndefinedObject(Object)>in: 16r41A280: a(n) UndefinedObject
   -16r22A0 [] in FillInTheBlankMorph(DialogWindow)>getUserResponse 16r9A498: a(n) FillInTheBlankMorph
   -16r2280 UndefinedObject(Object)>in: 16r41A280: a(n) UndefinedObject
   -16r2254 FillInTheBlankMorph(DialogWindow)>getUserResponse 16r9A498: a(n) FillInTheBlankMorph
   -16r2234 FillInTheBlankMorph class>request:initialAnswer:centerAt:inWorld:onCancelReturn:acceptOnCR:answerExtent: 16r12232B8: a(n) FillInTheBlankMorph class
   -16r21FC FillInTheBlankMorph class>request:initialAnswer:centerAt:inWorld:onCancelReturn:acceptOnCR: 16r12232B8: a(n) FillInTheBlankMorph class
   -16r21C8 FillInTheBlankMorph class>request:initialAnswer:centerAt:inWorld:onCancelReturn: 16r12232B8: a(n) FillInTheBlankMorph class
   -16r2198 FillInTheBlankMorph class>request:initialAnswer:centerAt:inWorld: 16r12232B8: a(n) FillInTheBlankMorph class
   -16r216C FillInTheBlankMorph class>request:initialAnswer:centerAt: 16r12232B8: a(n) FillInTheBlankMorph class
   -16r2144 FillInTheBlankMorph class>request:initialAnswer: 16r12232B8: a(n) FillInTheBlankMorph class
   -16r2120 MorphicUIManager>request:initialAnswer: 16r821990: a(n) MorphicUIManager
   -16r20F8 SmalltalkImage>getFileNameFromUserSuggesting: 16r79FC80: a(n) SmalltalkImage
   -16r20D8 SmalltalkImage>getFileNameFromUser 16r79FC80: a(n) SmalltalkImage
   -16r20B8 SmalltalkImage>saveAs 16r79FC80: a(n) SmalltalkImage
   -16r209C TheWorldMainDockingBar>saveImageAs 16r739530: a(n) TheWorldMainDockingBar
   -16r2078 [] in MenuItemMorph>invokeWithEvent: 16r16E7B60: a(n) MenuItemMorph
   -16r2054 BlockClosure>ensure: 16r9DBD0: a(n) BlockClosure
   -16r2030 CursorWithMask(Cursor)>showWhile: 16r70B1C0: a(n) CursorWithMask
   -16r200C MenuItemMorph>invokeWithEvent: 16r16E7B60: a(n) MenuItemMorph
scavenging(730)...scavenging(731)...scavenging(732)...scavenging(733)...

On Tue, Jan 3, 2017 at 11:29 AM, Eliot Miranda <[hidden email]> wrote:
Hi All,

    in working on the compactor in the simulator I'm observing some loooong pauses due to some, um, interesting image code.  For example...


   -16r31A8 IdentityDictionary>scanFor: 16r7333E8: a(n) IdentityDictionary
   -16r3184 IdentityDictionary(Dictionary)>at:ifAbsent: 16r7333E8: a(n) IdentityDictionary
   -16r3160 MorphExtension>valueOfProperty: 16r4341A0: a(n) MorphExtension
   -16r3140 PasteUpMorph(Morph)>valueOfProperty: 16r898788: a(n) PasteUpMorph
   -16r3120 PasteUpMorph(Morph)>eventBubbleFilters 16r898788: a(n) PasteUpMorph
   -16r30F4 PasteUpMorph(Morph)>sendFilterEventBubble:for: 16r898788: a(n) PasteUpMorph
   -16r30CC PasteUpMorph(Morph)>handleEvent: 16r898788: a(n) PasteUpMorph
   -16r30A0 [] in MorphicEventDispatcher>doBubblingForFocusEvent:with: 16r2638F8: a(n) MorphicEventDispatcher
   -16r3080 PasteUpMorph(Morph)>withAllOwnersDo: 16r898788: a(n) PasteUpMorph
   -16r3060 FillInTheBlankMorph(Morph)>allOwnersDo: 16r9A498: a(n) FillInTheBlankMorph
   -16r3038 MorphicEventDispatcher>doBubblingForFocusEvent:with: 16r2638F8: a(n) MorphicEventDispatcher
   -16r3010 MorphicEventDispatcher>dispatchFocusEventFully:with: 16r2638F8: a(n) MorphicEventDispatcher
   -16r2B38 FillInTheBlankMorph(DialogWindow)>processFocusEvent:using: 16r9A498: a(n) FillInTheBlankMorph
   -16r2B14 FillInTheBlankMorph(Morph)>processFocusEvent: 16r9A498: a(n) FillInTheBlankMorph
   -16r2AE8 [] in HandMorph>sendFocusEvent:to:clear: 16rC85548: a(n) HandMorph
   -16r2AC4 BlockClosure>ensure: 16r263860: a(n) BlockClosure
   -16r2AA0 MouseEvent(MorphicEvent)>becomeActiveDuring: 16r2634C0: a(n) MouseEvent
   -16r2A74 [] in HandMorph>sendFocusEvent:to:clear: 16rC85548: a(n) HandMorph
   -16r2A50 BlockClosure>ensure: 16r263768: a(n) BlockClosure
   -16r2A2C HandMorph>becomeActiveDuring: 16rC85548: a(n) HandMorph
   -16r2A00 [] in HandMorph>sendFocusEvent:to:clear: 16rC85548: a(n) HandMorph
   -16r29DC BlockClosure>ensure: 16r263670: a(n) BlockClosure
   -16r29B8 PasteUpMorph>becomeActiveDuring: 16r898788: a(n) PasteUpMorph
   -16r2990 HandMorph>sendFocusEvent:to:clear: 16rC85548: a(n) HandMorph
   -16r2960 HandMorph>sendEvent:focus:clear: 16rC85548: a(n) HandMorph
   -16r2938 HandMorph>sendMouseEvent: 16rC85548: a(n) HandMorph
   -16r2914 HandMorph>handleEvent: 16rC85548: a(n) HandMorph
   -16r28E8 MouseOverHandler>processMouseOver: 16r2D08BC8: a(n) MouseOverHandler
   -16r28B8 HandMorph>processEvents 16rC85548: a(n) HandMorph
   -16r2898 [] in WorldState>doOneCycleNowFor: 16r126DFF8: a(n) WorldState
   -16r2870 Array(SequenceableCollection)>do: 16r434190: a(n) Array
   -16r2850 WorldState>handsDo: 16r126DFF8: a(n) WorldState
   -16r282C WorldState>doOneCycleNowFor: 16r126DFF8: a(n) WorldState
   -16r280C WorldState>doOneCycleFor: 16r126DFF8: a(n) WorldState
   -16r2330 WorldState>doOneSubCycleFor: 16r126DFF8: a(n) WorldState
   -16r2310 PasteUpMorph>doOneSubCycle 16r898788: a(n) PasteUpMorph
   -16r22E8 [] in FillInTheBlankMorph(DialogWindow)>getUserResponse 16r9A498: a(n) FillInTheBlankMorph
   -16r22C8 UndefinedObject(Object)>in: 16r41A280: a(n) UndefinedObject
   -16r22A0 [] in FillInTheBlankMorph(DialogWindow)>getUserResponse 16r9A498: a(n) FillInTheBlankMorph
   -16r2280 UndefinedObject(Object)>in: 16r41A280: a(n) UndefinedObject
   -16r2254 FillInTheBlankMorph(DialogWindow)>getUserResponse 16r9A498: a(n) FillInTheBlankMorph
   -16r2234 FillInTheBlankMorph class>request:initialAnswer:centerAt:inWorld:onCancelReturn:acceptOnCR:answerExtent: 16r12232B8: a(n) FillInTheBlankMorph class
   -16r21FC FillInTheBlankMorph class>request:initialAnswer:centerAt:inWorld:onCancelReturn:acceptOnCR: 16r12232B8: a(n) FillInTheBlankMorph class
   -16r21C8 FillInTheBlankMorph class>request:initialAnswer:centerAt:inWorld:onCancelReturn: 16r12232B8: a(n) FillInTheBlankMorph class
   -16r2198 FillInTheBlankMorph class>request:initialAnswer:centerAt:inWorld: 16r12232B8: a(n) FillInTheBlankMorph class
   -16r216C FillInTheBlankMorph class>request:initialAnswer:centerAt: 16r12232B8: a(n) FillInTheBlankMorph class
   -16r2144 FillInTheBlankMorph class>request:initialAnswer: 16r12232B8: a(n) FillInTheBlankMorph class
   -16r2120 MorphicUIManager>request:initialAnswer: 16r821990: a(n) MorphicUIManager
   -16r20F8 SmalltalkImage>getFileNameFromUserSuggesting: 16r79FC80: a(n) SmalltalkImage
   -16r20D8 SmalltalkImage>getFileNameFromUser 16r79FC80: a(n) SmalltalkImage
   -16r20B8 SmalltalkImage>saveAs 16r79FC80: a(n) SmalltalkImage
   -16r209C TheWorldMainDockingBar>saveImageAs 16r739530: a(n) TheWorldMainDockingBar
   -16r2078 [] in MenuItemMorph>invokeWithEvent: 16r16E7B60: a(n) MenuItemMorph
   -16r2054 BlockClosure>ensure: 16r9DC50: a(n) BlockClosure
   -16r2030 CursorWithMask(Cursor)>showWhile: 16r70B1C0: a(n) CursorWithMask
   -16r200C MenuItemMorph>invokeWithEvent: 16r16E7B60: a(n) MenuItemMorph
scavenging(676)...scavenging(677)...scavenging(678)...scavenging(679)...scavenging(680)...scavenging(681)...scavenging(682)...

and so on.

It seems that doBubblingForFocusEvent:with hides a /lot/ of computation.  I wonder if the system might be more responsive if this were to receive some attention.
_,,,^..^,,,_
best, Eliot



--
_,,,^..^,,,_
best, Eliot