Simple (but effective) Optimization of PackageOrganizer

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

Simple (but effective) Optimization of PackageOrganizer

Alexandre Bergel
issue #2085

Replace the method PackageOrganizer>>packageOfClass: aClass ifNone:  
errorBlock by
-=-=-=-=-=
packageOfClass: aClass ifNone: errorBlock
        | classCategory |
        classCategory := aClass category.
        packages at: classCategory ifPresent: [:v | ^ v].
       
        (classCategory includes: $-)
                ifTrue: [ packages at: (classCategory copyUpTo: $-) ifPresent: [:v |  
^ v] ].
       
        ^ self packages detect: [:ea | ea includesClass: aClass] ifNone:  
errorBlock
-=-=-=-=-=

Before this enhancement:
[100 timesRepeat: [Object package]] timeToRun
=> 141

After the fix:
=> 2

Easy thing to do.

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







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






_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Simple (but effective) Optimization of PackageOrganizer

SergeStinckwich
I see that a big earthquake hit Chile :
http://www.alertnet.org/thenews/newsdesk/LDE61Q02O.htm
I hope everything is ok with you.

On Fri, Feb 26, 2010 at 6:58 PM, Alexandre Bergel <[hidden email]> wrote:

> issue #2085
>
> Replace the method PackageOrganizer>>packageOfClass: aClass ifNone:
> errorBlock by
> -=-=-=-=-=
> packageOfClass: aClass ifNone: errorBlock
>        | classCategory |
>        classCategory := aClass category.
>        packages at: classCategory ifPresent: [:v | ^ v].
>
>        (classCategory includes: $-)
>                ifTrue: [ packages at: (classCategory copyUpTo: $-) ifPresent: [:v |
> ^ v] ].
>
>        ^ self packages detect: [:ea | ea includesClass: aClass] ifNone:
> errorBlock
> -=-=-=-=-=
>
> Before this enhancement:
> [100 timesRepeat: [Object package]] timeToRun
> => 141
>
> After the fix:
> => 2
>
> Easy thing to do.
>
> Cheers,
> Alexandre
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
>
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



--
Serge Stinckwich
UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam
Smalltalkers do: [:it | All with: Class, (And love: it)]
http://doesnotunderstand.org/

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Simple (but effective) Optimization of PackageOrganizer

Alexandre Bergel
Fortunately yes. I am currently on the seaside, these has been some  
tsunami alert, but I haven't more than a very strong tide.
Wondering how I will find my flat in Santiago.

Thanks for asking,
Alexandre


On 27 Feb 2010, at 08:17, Serge Stinckwich wrote:

> I see that a big earthquake hit Chile :
> http://www.alertnet.org/thenews/newsdesk/LDE61Q02O.htm
> I hope everything is ok with you.
>
> On Fri, Feb 26, 2010 at 6:58 PM, Alexandre Bergel  
> <[hidden email]> wrote:
>> issue #2085
>>
>> Replace the method PackageOrganizer>>packageOfClass: aClass ifNone:
>> errorBlock by
>> -=-=-=-=-=
>> packageOfClass: aClass ifNone: errorBlock
>>        | classCategory |
>>        classCategory := aClass category.
>>        packages at: classCategory ifPresent: [:v | ^ v].
>>
>>        (classCategory includes: $-)
>>                ifTrue: [ packages at: (classCategory copyUpTo: $-)  
>> ifPresent: [:v |
>> ^ v] ].
>>
>>        ^ self packages detect: [:ea | ea includesClass: aClass]  
>> ifNone:
>> errorBlock
>> -=-=-=-=-=
>>
>> Before this enhancement:
>> [100 timesRepeat: [Object package]] timeToRun
>> => 141
>>
>> After the fix:
>> => 2
>>
>> Easy thing to do.
>>
>> Cheers,
>> Alexandre
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel  http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>>
>>
>>
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel  http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
>
>
> --
> Serge Stinckwich
> UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam
> Smalltalkers do: [:it | All with: Class, (And love: it)]
> http://doesnotunderstand.org/
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

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






_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Simple (but effective) Optimization of PackageOrganizer

Stéphane Ducasse
Let us know. Seems to be a really big earthquake.
Probably at santiago some old houses suffered but not the new ones.

Stef

On Feb 28, 2010, at 1:39 AM, Alexandre Bergel wrote:

> Fortunately yes. I am currently on the seaside, these has been some  
> tsunami alert, but I haven't more than a very strong tide.
> Wondering how I will find my flat in Santiago.
>
> Thanks for asking,
> Alexandre
>
>
> On 27 Feb 2010, at 08:17, Serge Stinckwich wrote:
>
>> I see that a big earthquake hit Chile :
>> http://www.alertnet.org/thenews/newsdesk/LDE61Q02O.htm
>> I hope everything is ok with you.
>>
>> On Fri, Feb 26, 2010 at 6:58 PM, Alexandre Bergel  
>> <[hidden email]> wrote:
>>> issue #2085
>>>
>>> Replace the method PackageOrganizer>>packageOfClass: aClass ifNone:
>>> errorBlock by
>>> -=-=-=-=-=
>>> packageOfClass: aClass ifNone: errorBlock
>>>       | classCategory |
>>>       classCategory := aClass category.
>>>       packages at: classCategory ifPresent: [:v | ^ v].
>>>
>>>       (classCategory includes: $-)
>>>               ifTrue: [ packages at: (classCategory copyUpTo: $-)  
>>> ifPresent: [:v |
>>> ^ v] ].
>>>
>>>       ^ self packages detect: [:ea | ea includesClass: aClass]  
>>> ifNone:
>>> errorBlock
>>> -=-=-=-=-=
>>>
>>> Before this enhancement:
>>> [100 timesRepeat: [Object package]] timeToRun
>>> => 141
>>>
>>> After the fix:
>>> => 2
>>>
>>> Easy thing to do.
>>>
>>> Cheers,
>>> Alexandre
>>> --
>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>> Alexandre Bergel  http://www.bergel.eu
>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>> Alexandre Bergel  http://www.bergel.eu
>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>>
>>
>> --
>> Serge Stinckwich
>> UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam
>> Smalltalkers do: [:it | All with: Class, (And love: it)]
>> http://doesnotunderstand.org/
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
>
> _______________________________________________
> 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
Reply | Threaded
Open this post in threaded view
|

Re: Simple (but effective) Optimization of PackageOrganizer

Alexandre Bergel
Johan and Romain are fine too. This morning a new shake woke me up...  
It should be like this for the next weeks.

Alexandre


On 28 Feb 2010, at 06:44, Stéphane Ducasse wrote:

> Let us know. Seems to be a really big earthquake.
> Probably at santiago some old houses suffered but not the new ones.
>
> Stef
>
> On Feb 28, 2010, at 1:39 AM, Alexandre Bergel wrote:
>
>> Fortunately yes. I am currently on the seaside, these has been some
>> tsunami alert, but I haven't more than a very strong tide.
>> Wondering how I will find my flat in Santiago.
>>
>> Thanks for asking,
>> Alexandre
>>
>>
>> On 27 Feb 2010, at 08:17, Serge Stinckwich wrote:
>>
>>> I see that a big earthquake hit Chile :
>>> http://www.alertnet.org/thenews/newsdesk/LDE61Q02O.htm
>>> I hope everything is ok with you.
>>>
>>> On Fri, Feb 26, 2010 at 6:58 PM, Alexandre Bergel
>>> <[hidden email]> wrote:
>>>> issue #2085
>>>>
>>>> Replace the method PackageOrganizer>>packageOfClass: aClass ifNone:
>>>> errorBlock by
>>>> -=-=-=-=-=
>>>> packageOfClass: aClass ifNone: errorBlock
>>>>      | classCategory |
>>>>      classCategory := aClass category.
>>>>      packages at: classCategory ifPresent: [:v | ^ v].
>>>>
>>>>      (classCategory includes: $-)
>>>>              ifTrue: [ packages at: (classCategory copyUpTo: $-)
>>>> ifPresent: [:v |
>>>> ^ v] ].
>>>>
>>>>      ^ self packages detect: [:ea | ea includesClass: aClass]
>>>> ifNone:
>>>> errorBlock
>>>> -=-=-=-=-=
>>>>
>>>> Before this enhancement:
>>>> [100 timesRepeat: [Object package]] timeToRun
>>>> => 141
>>>>
>>>> After the fix:
>>>> => 2
>>>>
>>>> Easy thing to do.
>>>>
>>>> Cheers,
>>>> Alexandre
>>>> --
>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>>> Alexandre Bergel  http://www.bergel.eu
>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>>> Alexandre Bergel  http://www.bergel.eu
>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> [hidden email]
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>
>>>
>>>
>>>
>>> --
>>> Serge Stinckwich
>>> UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam
>>> Smalltalkers do: [:it | All with: Class, (And love: it)]
>>> http://doesnotunderstand.org/
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel  http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> 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

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






_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Simple (but effective) Optimization of PackageOrganizer

SergeStinckwich
Good to now that you are going fine ;-) I'm currently in Paris. I'm
leaving to Ha Noi this afternoon but there is a big tempest in Europe
right now, a lot of flights have been canceled ...

On Sun, Feb 28, 2010 at 12:56 PM, Alexandre Bergel <[hidden email]> wrote:

> Johan and Romain are fine too. This morning a new shake woke me up...
> It should be like this for the next weeks.
>
> Alexandre
>
>
> On 28 Feb 2010, at 06:44, Stéphane Ducasse wrote:
>
>> Let us know. Seems to be a really big earthquake.
>> Probably at santiago some old houses suffered but not the new ones.
>>
>> Stef
>>
>> On Feb 28, 2010, at 1:39 AM, Alexandre Bergel wrote:
>>
>>> Fortunately yes. I am currently on the seaside, these has been some
>>> tsunami alert, but I haven't more than a very strong tide.
>>> Wondering how I will find my flat in Santiago.
>>>
>>> Thanks for asking,
>>> Alexandre
>>>
>>>
>>> On 27 Feb 2010, at 08:17, Serge Stinckwich wrote:
>>>
>>>> I see that a big earthquake hit Chile :
>>>> http://www.alertnet.org/thenews/newsdesk/LDE61Q02O.htm
>>>> I hope everything is ok with you.
>>>>
>>>> On Fri, Feb 26, 2010 at 6:58 PM, Alexandre Bergel
>>>> <[hidden email]> wrote:
>>>>> issue #2085
>>>>>
>>>>> Replace the method PackageOrganizer>>packageOfClass: aClass ifNone:
>>>>> errorBlock by
>>>>> -=-=-=-=-=
>>>>> packageOfClass: aClass ifNone: errorBlock
>>>>>      | classCategory |
>>>>>      classCategory := aClass category.
>>>>>      packages at: classCategory ifPresent: [:v | ^ v].
>>>>>
>>>>>      (classCategory includes: $-)
>>>>>              ifTrue: [ packages at: (classCategory copyUpTo: $-)
>>>>> ifPresent: [:v |
>>>>> ^ v] ].
>>>>>
>>>>>      ^ self packages detect: [:ea | ea includesClass: aClass]
>>>>> ifNone:
>>>>> errorBlock
>>>>> -=-=-=-=-=
>>>>>
>>>>> Before this enhancement:
>>>>> [100 timesRepeat: [Object package]] timeToRun
>>>>> => 141
>>>>>
>>>>> After the fix:
>>>>> => 2
>>>>>
>>>>> Easy thing to do.
>>>>>
>>>>> Cheers,
>>>>> Alexandre
>>>>> --
>>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>>>> Alexandre Bergel  http://www.bergel.eu
>>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>>>> Alexandre Bergel  http://www.bergel.eu
>>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> [hidden email]
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Serge Stinckwich
>>>> UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam
>>>> Smalltalkers do: [:it | All with: Class, (And love: it)]
>>>> http://doesnotunderstand.org/
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> [hidden email]
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>> --
>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>> Alexandre Bergel  http://www.bergel.eu
>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> 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
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



--
Serge Stinckwich
UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam
Smalltalkers do: [:it | All with: Class, (And love: it)]
http://doesnotunderstand.org/

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