I proposed a fix in PharoInbox. Something changed apparently in the  
way a compiled method may be evaluated programatically.
Issue #883

Alexandre


On 12 Jun 2009, at 17:29, Carlos Crosetti wrote:

> I was curious about the difference between sending duratinToRun and
> selecting an expression and doing "tally it", and the later  
> presented a DNU,
> even attempting to tally "1 + 1"
>
> -----Mensaje original-----
> De: [email protected]
> [mailto:[email protected]]en nombre de  
> Henrik
> Johansen
> Enviado el: Viernes, 12 de Junio de 2009 09:11 a.m.
> Para: [email protected]
> Asunto: Re: [Pharo-project] Issue 832
>
>
> I did some testing.
>
> During a minute of dragging/resizing windows (Class Browser, with 7-8
> other windows in the background), the extra intersect happened
> approximately 6000 times.
>
> A small intersect speed test:
> a := Rectangle origin: 1...@1 corner: 1...@100.
> b := Rectangle origin: 3...@0 corner: 5 @ 50.
> [1000000 timesRepeat:[ a intersect: b]] durationToRun 0:00:00:00.992
>
> So, about 6 ms overhead added over the course of a minute...
>
> Unless somehow there are Morphs which ends up redrawing MORE with a
> consistently SMALLER damage rect, I think it'd be wise to look  
> elsewhere
> for any slowdowns experienced...
>
> Cheers,
> Henry
>
> Stéphane Ducasse skrev:
>> What is the status of that rollback?
>> Because if pahro get slower we should roll back
>>
>> Stef
>> On May 28, 2009, at 11:46 AM, Henrik Johansen wrote:
>>
>>
>>> Sure.
>>> I'd wait applying it till others can confirm that simply saving  
>>> after
>>> running an update does not fix their performance problems though, as
>>> outlined in my last mail.
>>>
>>> Cheers,
>>> Henry
>>>
>>> Stéphane Ducasse skrev:
>>>
>>>> can you send me the st for the reverting?
>>>>
>>>> Stef
>>>>
>>>> On May 28, 2009, at 10:08 AM, Henrik Johansen wrote:
>>>>
>>>>
>>>>
>>>>> It's strange though, for me dragging is just as slow reverting the
>>>>> changes I made in a 319 image...
>>>>> And filing in the .st in a 309 image, I notice no slow downs. (309
>>>>> upgraded to 319 I do).
>>>>>
>>>>> Are we sure nothing else causes this, perhaps changes related to
>>>>> events/polling frequency or something?
>>>>>
>>>>> Cheers,
>>>>> Henry
>>>>>
>>>>> Schwab,Wilhelm K skrev:
>>>>>
>>>>>
>>>>>> Henry,
>>>>>>
>>>>>> I for one appreciate your effort, and encourage you to keep  
>>>>>> going.
>>>>>> Speaking of slow machines, I have a small herd and would be  
>>>>>> willing
>>>>>> to
>>>>>> help you profile the problem.  Give me about a month, and I  
>>>>>> will be
>>>>>> in
>>>>>> a position to press them into service to help with this.
>>>>>>
>>>>>> Bill
>>>>>>
>>>>>>
>>>>>> ----------------------------------------------------------------------
> --
>>>>>> *From:* [email protected]
>>>>>> [mailto:[email protected]] *On Behalf  
>>>>>> Of
>>>>>> *Henrik Sperre Johansen
>>>>>> *Sent:* Wednesday, May 27, 2009 5:07 PM
>>>>>> *To:* [email protected]
>>>>>> *Subject:* Re: [Pharo-project] Issue 832
>>>>>>
>>>>>> Sorry, just back from the pub (YAY BARCELONA!)  my initial  
>>>>>> reaction
>>>>>> was really:
>>>>>> I'd rather see the cause of such slowdowns while resizing
>>>>>> investigated
>>>>>> (and fixed), but considering the time needed to accomplish that,
>>>>>> rollbacking is probably a safer option at this time.
>>>>>> My mind absolutely boggles that a resizing performance decrease
>>>>>> would
>>>>>> be the most visible effect of the changes made in that update...
>>>>>> Welcome to the wonderful world of Morphic!
>>>>>>
>>>>>> Cheers,
>>>>>> Henry
>>>>>>
>>>>>> On 27.05.2009 23:54, Henrik Sperre Johansen wrote:
>>>>>>
>>>>>>
>>>>>>> Yes, rollbacking probably is the safest choice,
>>>>>>> As I implied in the mail, this was really meant as a  
>>>>>>> experimental
>>>>>>> effort, to see if people on slower machines noticed the  
>>>>>>> effects I
>>>>>>> was
>>>>>>> (pre)anticipating.
>>>>>>> I really don't see how an extra intersect: per Morph (containing
>>>>>>> submorphs) can make such a big difference...
>>>>>>>
>>>>>>> I'll definately post another update sometime in the future, I
>>>>>>> don't
>>>>>>> know when I'll have to look into it though.
>>>>>>> <rant>
>>>>>>> To me, the way it is right now seems unacceptable, there's
>>>>>>> really no
>>>>>>> reason to write a "smart" drawOn: routine for morphs that are
>>>>>>> likely
>>>>>>> to end up as a subMorph (saaaay, the TextMorph which I started
>>>>>>> investigating in the first place), as they have to redraw the
>>>>>>> entire
>>>>>>> area anyways.
>>>>>>> This leads to a bad cycle in morph development;
>>>>>>> "As long as at minimum the area we want to redraw is marked as,
>>>>>>> it's
>>>>>>> fine. There's no performance gain from reporting a more accurate
>>>>>>> area
>>>>>>> anyways".
>>>>>>> So you end up with "sloppy" damage rects for new morphs, which
>>>>>>> leads
>>>>>>> to more to fix if it IS changed, and slower performance for  
>>>>>>> those
>>>>>>> whom redrawing the entire area rather than a subsection IS
>>>>>>> expensive.
>>>>>>> </rant>
>>>>>>>
>>>>>>> Cheers,
>>>>>>> Henry
>>>>>>>
>>>>>>>
>>>>>>> On 27.05.2009 19:44, Stéphane Ducasse wrote:
>>>>>>>
>>>>>>>
>>>>>>>> Thanks for reporting.
>>>>>>>> Henrik?
>>>>>>>> I could rollback the changes.
>>>>>>>>
>>>>>>>> Stef
>>>>>>>>
>>>>>>>> On May 27, 2009, at 6:25 PM, Gary Chambers wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> Performance of UI seems poor after 832 integration.
>>>>>>>>>
>>>>>>>>> http://code.google.com/p/pharo/issues/detail?id=832
>>>>>>>>>
>>>>>>>>> Regards, Gary
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Pharo-project mailing list
>>>>>>>>> [email protected]
>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>>> project
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Pharo-project mailing list
>>>>>>>> [email protected]
>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> ---------------------------------------------------------------------
> ---
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Pharo-project mailing list
>>>>>>> [email protected]
>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>> project
>>>>>>>
>>>>>>>
>>>>>> ----------------------------------------------------------------------
> --
>>>>>>
>>>>>> _______________________________________________
>>>>>> Pharo-project mailing list
>>>>>> [email protected]
>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>
>>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> [email protected]
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo- 
>>>>> project
>>>>>
>>>>>
>>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> [email protected]
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>
>>>>
>>>>
>>>>
>>> 'From Pharo0.1 of 16 May 2008 [Latest update: #10309] on 28 May 2009
>>> at 11:39:22 am'!
>>>
>>> !Morph methodsFor: 'drawing' stamp: 'dgd 2/22/2003 14:31'!
>>> drawSubmorphsOn: aCanvas
>>>     "Display submorphs back to front"
>>>
>>>     | drawBlock |
>>>     submorphs isEmpty ifTrue: [^self].
>>>     drawBlock := [:canvas | submorphs reverseDo: [:m | canvas
>>> fullDrawMorph: m]].
>>>     self clipSubmorphs
>>>             ifTrue: [aCanvas clipBy: self clippingBounds during: drawBlock]
>>>             ifFalse: [drawBlock value: aCanvas]! !
>>>
>>>
>>> !LazyMorphListMorph methodsFor: 'as yet unclassified' stamp: 'gvc
>>> 5/3/2006 14:27'!
>>> drawSubmorphsOn: aCanvas
>>>     "Display submorphs back to front"
>>>
>>>     |drawBlock i|
>>>     submorphs isEmpty ifTrue: [^self].
>>>     drawBlock := [:canvas |
>>>             (self topVisibleRowForCanvas: aCanvas) to: (self
>>> bottomVisibleRowForCanvas: aCanvas) do: [ :row |
>>>                     i := self item: row.
>>>                     canvas fullDrawMorph: i]].
>>>     self clipSubmorphs
>>>             ifTrue: [aCanvas clipBy: self clippingBounds during: drawBlock]
>>>             ifFalse: [drawBlock value: aCanvas]! !
>>>
>>>
>>> !PasteUpMorph methodsFor: 'painting' stamp: 'nk 7/4/2003 15:59'!
>>> drawSubmorphsOn: aCanvas
>>>     "Display submorphs back to front, but skip my background sketch."
>>>
>>>     | drawBlock |
>>>     submorphs isEmpty ifTrue: [^self].
>>>     drawBlock := [:canvas | submorphs reverseDo: [:m | m ~~
>>> backgroundMorph ifTrue: [ canvas fullDrawMorph: m ]]].
>>>     self clipSubmorphs
>>>             ifTrue: [aCanvas clipBy: self clippingBounds during: drawBlock]
>>>             ifFalse: [drawBlock value: aCanvas]! !
>>>
>>>
>>> !TabSelectorMorph methodsFor: 'as yet unclassified' stamp: 'gvc
>>> 5/31/2007 14:11'!
>>> drawSubmorphsOn: aCanvas
>>>     "Display submorphs back to front.
>>>     Draw the focus here since we are using inset bounds
>>>     for the focus rectangle."
>>>
>>>     super drawSubmorphsOn: aCanvas.
>>>     self hasKeyboardFocus ifTrue: [
>>>             self selectedTab ifNotNilDo: [:t |
>>>                     self clipSubmorphs
>>>                             ifTrue: [aCanvas
>>>                                                     clipBy: self 
>>> clippingBounds
>>>                                                     during: [:c | t 
>>> drawKeyboardFocusOn: c]]
>>>                             ifFalse: [t drawKeyboardFocusOn: aCanvas]]]! !
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [email protected]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>>
>>
>
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
>
> --
> Internal Virus Database is out-of-date.
> Checked by AVG.
> Version: 7.5.524 / Virus Database: 270.12.11/2089 - Release Date:  
> 30/04/2009
> 05:53 p.m.
>
>
>
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>

-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to