[ANN] Pharo 1.0 Beta

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

Re: [ANN] Pharo 1.0 Beta

Henrik Sperre Johansen
Hmm, so bugs are ok?

Does this also include primitive (or plugib) failures  which are handled
correctly, but cause performance problems?

In particular, I'm thinking of primitive 103 in core (used in strikefont
rendering), and plugin BitBlt using rule 41 (used in FTFont-rendering),
whom (wild guess) both seem to have problem with the String ->
ByteString/WideString refactoring... (IE: they fail in Pharo with a
ByteString parameter instead of String, and use the strictly smalltalk
fallback code resulting in... far worse performance)

I tried installing VMMaker to investigate the problems further, but I
guess the steps needed to set up an interpreter to properly test exactly
what goes wrong in these cases were too advanced for me to figure out in
30 mins.. :(

BTW, the Cuis subpixel-rendering looks beautiful (both performance and
code-wise) compared to what is done in the FreeType code. Anyone have
time to understand/integrate this approach before 1.0 release?

Misc ideas:
- How about inserting some sort of logging where primitives are called
with failure, but Smalltalk code fallback is used for a seemingly
successful result. then fixing the code/VM to handle those cases? Font
rendering is the prime cultrip, but I'm sure there are other places as
well....

Secondary: - How about another instance cache in Color, for transformed
colours?
Some of these transformed colours are used MANY times during each
rendering step, (look at the senders of Color>>lighter f.ex.), it seems
silly to create new Color object that have to be GC'd in many of these
instances. In Pharo the overhead isn't very noticeable (due to the
primitive failures mentioned above sucking up most of the processor
time), but in a lean system like Cuis, they did appear on TimeProfiles...

I'm not sure how much you can trust the leaf nodes of TimeProfiles
though, at least in Cuis/(which I did most of my investigation in), they
seemed to be spread at random between items in a block.... (IE: from one
to another, it could shift from 90% in one method call to 90% in another
method call in the same block).

If you read this entire message, you have my condolances, and written
permission to ask for clarifications :)

Cheers,
Henry

, On 04.08.2009 16:44, Stéphane Ducasse wrote:

> ok with me.
>
> Stef
>
> On Aug 2, 2009, at 3:37 PM, Adrian Lienhard wrote:
>
>    
>> On Aug 1, 2009, at 18:33 , Marcus Denker wrote:
>>
>>      
>>> On 01.08.2009, at 07:06, Serge Stinckwich wrote:
>>>
>>>        
>>>> On Sat, Aug 1, 2009 at 2:41 AM, Stéphane
>>>> Ducasse<[hidden email]>  wrote:
>>>>          
>>>>> So what is the process now?
>>>>> Do we focus on 1.0?
>>>>> Can we integrate other issues?
>>>>> Do we have a separate stream for 1.1 alpha?
>>>>>            
>>>> Maybe the 1.1 alpha should be available after the release of Pharo
>>>> 1.0
>>>> so the efforts of the team is not disseminate on two versions.
>>>>          
>>> Yes, I think this is the way to go... we should force everyone to use
>>> the
>>> beta version for a while.
>>>        
>> Yes. We have 50 open issues for 1.0 and when more people start using
>> Pharo, they will find more bugs. So for now we should focus on
>> bringing that number down to 0.
>>
>> Adrian
>>
>>      
>>> Marcus
>>>
>>>
>>>
>>>
>>> --
>>> Marcus Denker - http://marcusdenker.de
>>> PLEIAD Lab - Computer Science Department (DCC) - University of Chile
>>>
>>>
>>> _______________________________________________
>>> 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
>>      
>
> _______________________________________________
> 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: [ANN] Pharo 1.0 Beta

Marcus Denker-3

On 04.08.2009, at 18:49, Henrik Sperre Johansen wrote:

> Hmm, so bugs are ok?
>

Why? Nobody said that we will not mark more issues as to be fixed for  
1.0...
what was said is that we will not have a second stream and start to  
add fixes
that are decided to not be included in 1.0 there. Nothing else.

If you want other reports to be tagges 1.0, add a note in the bugreport.
If you find new bugs, add a new report and tell the world that you think
that it needs to be fixed for 1.0.

        Marcus

> Does this also include primitive (or plugib) failures  which are  
> handled
> correctly, but cause performance problems?
>
> In particular, I'm thinking of primitive 103 in core (used in  
> strikefont
> rendering), and plugin BitBlt using rule 41 (used in FTFont-
> rendering),
> whom (wild guess) both seem to have problem with the String ->
> ByteString/WideString refactoring... (IE: they fail in Pharo with a
> ByteString parameter instead of String, and use the strictly smalltalk
> fallback code resulting in... far worse performance)
>
> I tried installing VMMaker to investigate the problems further, but I
> guess the steps needed to set up an interpreter to properly test  
> exactly
> what goes wrong in these cases were too advanced for me to figure  
> out in
> 30 mins.. :(
>
> BTW, the Cuis subpixel-rendering looks beautiful (both performance and
> code-wise) compared to what is done in the FreeType code. Anyone have
> time to understand/integrate this approach before 1.0 release?
>
> Misc ideas:
> - How about inserting some sort of logging where primitives are called
> with failure, but Smalltalk code fallback is used for a seemingly
> successful result. then fixing the code/VM to handle those cases? Font
> rendering is the prime cultrip, but I'm sure there are other places as
> well....
>
> Secondary: - How about another instance cache in Color, for  
> transformed
> colours?
> Some of these transformed colours are used MANY times during each
> rendering step, (look at the senders of Color>>lighter f.ex.), it  
> seems
> silly to create new Color object that have to be GC'd in many of these
> instances. In Pharo the overhead isn't very noticeable (due to the
> primitive failures mentioned above sucking up most of the processor
> time), but in a lean system like Cuis, they did appear on  
> TimeProfiles...
>
> I'm not sure how much you can trust the leaf nodes of TimeProfiles
> though, at least in Cuis/(which I did most of my investigation in),  
> they
> seemed to be spread at random between items in a block.... (IE: from  
> one
> to another, it could shift from 90% in one method call to 90% in  
> another
> method call in the same block).
>
> If you read this entire message, you have my condolances, and written
> permission to ask for clarifications :)
>
> Cheers,
> Henry
>
> , On 04.08.2009 16:44, Stéphane Ducasse wrote:
>> ok with me.
>>
>> Stef
>>
>> On Aug 2, 2009, at 3:37 PM, Adrian Lienhard wrote:
>>
>>
>>> On Aug 1, 2009, at 18:33 , Marcus Denker wrote:
>>>
>>>
>>>> On 01.08.2009, at 07:06, Serge Stinckwich wrote:
>>>>
>>>>
>>>>> On Sat, Aug 1, 2009 at 2:41 AM, Stéphane
>>>>> Ducasse<[hidden email]>  wrote:
>>>>>
>>>>>> So what is the process now?
>>>>>> Do we focus on 1.0?
>>>>>> Can we integrate other issues?
>>>>>> Do we have a separate stream for 1.1 alpha?
>>>>>>
>>>>> Maybe the 1.1 alpha should be available after the release of Pharo
>>>>> 1.0
>>>>> so the efforts of the team is not disseminate on two versions.
>>>>>
>>>> Yes, I think this is the way to go... we should force everyone to  
>>>> use
>>>> the
>>>> beta version for a while.
>>>>
>>> Yes. We have 50 open issues for 1.0 and when more people start using
>>> Pharo, they will find more bugs. So for now we should focus on
>>> bringing that number down to 0.
>>>
>>> Adrian
>>>
>>>
>>>> Marcus
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Marcus Denker - http://marcusdenker.de
>>>> PLEIAD Lab - Computer Science Department (DCC) - University of  
>>>> Chile
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>>>
>>
>> _______________________________________________
>> 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


_______________________________________________
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: [ANN] Pharo 1.0 Beta

Marcus Denker-3

On 04.08.2009, at 18:58, Marcus Denker wrote:

>
> On 04.08.2009, at 18:49, Henrik Sperre Johansen wrote:
>
>> Hmm, so bugs are ok?
>>
>
> Why? Nobody said that we will not mark more issues as to be fixed  
> for 1.0...
> what was said is that we will not have a second stream and start to  
> add fixes
> that are decided to not be included in 1.0 there. Nothing else.
>
> If you want other reports to be tagges 1.0, add a note in the  
> bugreport.
> If you find new bugs, add a new report and tell the world that you  
> think
> that it needs to be fixed for 1.0.

another note:

It should be clear that a release always is just a snapshot. There  
will not be
all problems solved. The idea is to just denote one version as "we  
used this
for a while and it seems to work ok for most people". Nothing else.

If somebody want to wait for perfection, Pharo is not the place to be.

        Marcus




--
Marcus Denker - http://marcusdenker.de
PLEIAD Lab - Computer Science Department (DCC) - University of Chile


_______________________________________________
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: [ANN] Pharo 1.0 Beta

Stéphane Ducasse
In reply to this post by Henrik Sperre Johansen
Hi henrik

what I suggest is: cut your messages into smaller ones so that we can  
get multiple and clear
thread. Then enter bug items when needed.

Stef

On Aug 5, 2009, at 12:49 AM, Henrik Sperre Johansen wrote:

> Hmm, so bugs are ok?
>
> Does this also include primitive (or plugib) failures  which are  
> handled
> correctly, but cause performance problems?
>
> In particular, I'm thinking of primitive 103 in core (used in  
> strikefont
> rendering), and plugin BitBlt using rule 41 (used in FTFont-
> rendering),
> whom (wild guess) both seem to have problem with the String ->
> ByteString/WideString refactoring... (IE: they fail in Pharo with a
> ByteString parameter instead of String, and use the strictly smalltalk
> fallback code resulting in... far worse performance)
>
> I tried installing VMMaker to investigate the problems further, but I
> guess the steps needed to set up an interpreter to properly test  
> exactly
> what goes wrong in these cases were too advanced for me to figure  
> out in
> 30 mins.. :(
>
> BTW, the Cuis subpixel-rendering looks beautiful (both performance and
> code-wise) compared to what is done in the FreeType code. Anyone have
> time to understand/integrate this approach before 1.0 release?
>
> Misc ideas:
> - How about inserting some sort of logging where primitives are called
> with failure, but Smalltalk code fallback is used for a seemingly
> successful result. then fixing the code/VM to handle those cases? Font
> rendering is the prime cultrip, but I'm sure there are other places as
> well....
>
> Secondary: - How about another instance cache in Color, for  
> transformed
> colours?
> Some of these transformed colours are used MANY times during each
> rendering step, (look at the senders of Color>>lighter f.ex.), it  
> seems
> silly to create new Color object that have to be GC'd in many of these
> instances. In Pharo the overhead isn't very noticeable (due to the
> primitive failures mentioned above sucking up most of the processor
> time), but in a lean system like Cuis, they did appear on  
> TimeProfiles...
>
> I'm not sure how much you can trust the leaf nodes of TimeProfiles
> though, at least in Cuis/(which I did most of my investigation in),  
> they
> seemed to be spread at random between items in a block.... (IE: from  
> one
> to another, it could shift from 90% in one method call to 90% in  
> another
> method call in the same block).
>
> If you read this entire message, you have my condolances, and written
> permission to ask for clarifications :)
>
> Cheers,
> Henry
>
> , On 04.08.2009 16:44, Stéphane Ducasse wrote:
>> ok with me.
>>
>> Stef
>>
>> On Aug 2, 2009, at 3:37 PM, Adrian Lienhard wrote:
>>
>>
>>> On Aug 1, 2009, at 18:33 , Marcus Denker wrote:
>>>
>>>
>>>> On 01.08.2009, at 07:06, Serge Stinckwich wrote:
>>>>
>>>>
>>>>> On Sat, Aug 1, 2009 at 2:41 AM, Stéphane
>>>>> Ducasse<[hidden email]>  wrote:
>>>>>
>>>>>> So what is the process now?
>>>>>> Do we focus on 1.0?
>>>>>> Can we integrate other issues?
>>>>>> Do we have a separate stream for 1.1 alpha?
>>>>>>
>>>>> Maybe the 1.1 alpha should be available after the release of Pharo
>>>>> 1.0
>>>>> so the efforts of the team is not disseminate on two versions.
>>>>>
>>>> Yes, I think this is the way to go... we should force everyone to  
>>>> use
>>>> the
>>>> beta version for a while.
>>>>
>>> Yes. We have 50 open issues for 1.0 and when more people start using
>>> Pharo, they will find more bugs. So for now we should focus on
>>> bringing that number down to 0.
>>>
>>> Adrian
>>>
>>>
>>>> Marcus
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Marcus Denker - http://marcusdenker.de
>>>> PLEIAD Lab - Computer Science Department (DCC) - University of  
>>>> Chile
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>>>
>>
>> _______________________________________________
>> 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


_______________________________________________
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: [ANN] Pharo 1.0 Beta

Henrik Sperre Johansen
Will do!
Submitted Issue 1041 as a simple case where an (unneccessary)  
primitive failure happens.
If a similar slowdown is experienced in f.ex. the fallback bitblt code  
used in font rendering, it might be worth investigating what exactly  
causes it to fail.

Fallback code isn't always a good thing when everything still works as  
expected, but cause performance hits that add up over time, and are  
hard to track down :)

Cheers,
Henry




On Aug 5, 2009, at 9:42 27AM, Stéphane Ducasse wrote:

> Hi henrik
>
> what I suggest is: cut your messages into smaller ones so that we can
> get multiple and clear
> thread. Then enter bug items when needed.
>
> Stef

_______________________________________________
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: [ANN] Pharo 1.0 Beta

Stéphane Ducasse
excellent!
for the color enh please generate a thread like that we can do  
something after.

Stef

On Aug 5, 2009, at 2:07 PM, Henrik Johansen wrote:

> Will do!
> Submitted Issue 1041 as a simple case where an (unneccessary)
> primitive failure happens.
> If a similar slowdown is experienced in f.ex. the fallback bitblt code
> used in font rendering, it might be worth investigating what exactly
> causes it to fail.
>
> Fallback code isn't always a good thing when everything still works as
> expected, but cause performance hits that add up over time, and are
> hard to track down :)
>
> Cheers,
> Henry
>
>
>
>
> On Aug 5, 2009, at 9:42 27AM, Stéphane Ducasse wrote:
>
>> Hi henrik
>>
>> what I suggest is: cut your messages into smaller ones so that we can
>> get multiple and clear
>> thread. Then enter bug items when needed.
>>
>> Stef
>
> _______________________________________________
> 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
12