Fwd: Squeak 5 on Raspberry Pi

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

Fwd: Squeak 5 on Raspberry Pi

Sean P. DeNigris
Administrator
[Squeak 5 is] so *fast* (I have it running next to
Pharo, which is unusable slow as a GUI.  Whereas Squeak 5 is zipping
along at Windows desktop speeds on the Pi (Model B).
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Fwd: Squeak 5 on Raspberry Pi

Clément Béra
Yeah this is very well-known. Note that here we are talking about the pi B with Spur + the JIT, 2 years ago I remember needing 35 second on the pie A to open Nautilus on the stack vm while the Squeak UI was usable.

The Pharo UI has been focusing on IDE features at the cost of performance, such as auto-completion, better RB integration, Nautilus, new debugging tools... None of the current tools (Nautilus, GTInspector, GTPlayground, ...) are fast enough for slower devices, some of them are barely fast enough for a laptop (for example at some point there was no auto-refresh on GTInspector because of performance). It's not clear if it's due to the new tools themselves as Morphic is drastically slower too on Pharo.

The Squeak UI has been focusing on performance and stability. It is very convenient for slow devices but also for slow VM like for example the debug VM.

The official answer to this problem is that Block/Brick will be faster so it will solve all this problems. We will see.
 

2016-03-25 1:15 GMT+01:00 Sean P. DeNigris <[hidden email]>:

> [Squeak 5 is] so *fast* (I have it running next to
> Pharo, which is unusable slow as a GUI.  Whereas Squeak 5 is zipping
> along at Windows desktop speeds on the Pi (Model B).





-----
Cheers,
Sean
--
View this message in context: http://forum.world.st/Fwd-Squeak-5-on-Raspberry-Pi-tp4886416.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.


Reply | Threaded
Open this post in threaded view
|

Re: Squeak 5 on Raspberry Pi

EstebanLM

On 25 Mar 2016, at 07:43, Clément Bera <[hidden email]> wrote:

Yeah this is very well-known. Note that here we are talking about the pi B with Spur + the JIT, 2 years ago I remember needing 35 second on the pie A to open Nautilus on the stack vm while the Squeak UI was usable.

The Pharo UI has been focusing on IDE features at the cost of performance, such as auto-completion, better RB integration, Nautilus, new debugging tools... None of the current tools (Nautilus, GTInspector, GTPlayground, ...) are fast enough for slower devices, some of them are barely fast enough for a laptop (for example at some point there was no auto-refresh on GTInspector because of performance). It's not clear if it's due to the new tools themselves as Morphic is drastically slower too on Pharo.

The Squeak UI has been focusing on performance and stability. It is very convenient for slow devices but also for slow VM like for example the debug VM.

The official answer to this problem is that Block/Brick will be faster so it will solve all this problems. We will see.

yes, this is the “semi-official” answer and that’s an error. Yes ideally it will solve some problems (the ones related to Morphic), but current lack of performance on Pharo tools is not because of Morphic but because of some non optimised choices. 
For example, months ago I got pissed because our current list implementation was not fast enough for our tools and that’s why I made FastTable: because it was evident we needed a better design for it. It speeded the startup of Nautilus by an order of magnitude. This is a widget developed with Morphic, but with a not-naive approach, so is fast.
As lists, some others widgets (notably tree) could be optimised… 
But this will not be the solution of the problem either: we need to spend time on optimisation. Nautilus is not a good tool (we all know it has design problems all around) but with the time had improve and not using it is almost enjoyable… but for example, the new debugger (which I’m not criticising as a tool, I like it a lot) makes me hurt… is slower than eclipse debugger and that’s a lot to say. Also new inspector: is good, but can’t we optimise it? maybe we need to make some concession, but is the moment of doing it. 
Recently I’m noticing a slowdown in Spotter: I believe is because one of his categories is refreshing to the network but I’m not sure: this slowdown is not production acceptable, for me is a Show Stopper because it kills the usability of the tool (of a tool who is great, but it HAS to be fast, otherwise is useless).

Mea culpa: more than once I have not protested even knowing than solution X was “10% slower than the older one, but that’s ok, we can live with it”… guess what? once you accumulate enough of those 10% penalties, you have a barely usable system. 

We need to concentrate efforts on performance. There will not be magical solution: if we do not spend time on enhance tools for performance, they will be not good enough.

Can I ask you guys to spend some time optimising tools, before we release Pharo 5? Remember, “First impressions counts”! (we even have a category for it in FogBugz).  

Esteban



 

2016-03-25 1:15 GMT+01:00 Sean P. DeNigris <[hidden email]>:

> [Squeak 5 is] so *fast* (I have it running next to
> Pharo, which is unusable slow as a GUI.  Whereas Squeak 5 is zipping
> along at Windows desktop speeds on the Pi (Model B).





-----
Cheers,
Sean
--
View this message in context: http://forum.world.st/Fwd-Squeak-5-on-Raspberry-Pi-tp4886416.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.



Reply | Threaded
Open this post in threaded view
|

Re: Squeak 5 on Raspberry Pi

EstebanLM

On 25 Mar 2016, at 09:45, Esteban Lorenzano <[hidden email]> wrote:

had improve and not using it is almost enjoyable…

I meant “.. had improve and NOW using it is almost enjoyable”… Freud could say a lot of things about that lapsus :P

Reply | Threaded
Open this post in threaded view
|

Re: Squeak 5 on Raspberry Pi

philippeback
You made my day.

It is true the Pharo feels slow, even of a powerful machine [Core i7 @ 4.4Ghz] (e.g. vs Visual Studio, PhpStorm, ... which aren't little beasts).

It is particularly frustrating when having to work with BIG FONTS like I do and inside a Linux VM.

Squeak is indeed super zippy by comparison. That's frustrating. 

Phil

On Fri, Mar 25, 2016 at 10:04 AM, Esteban Lorenzano <[hidden email]> wrote:

On 25 Mar 2016, at 09:45, Esteban Lorenzano <[hidden email]> wrote:

had improve and not using it is almost enjoyable…

I meant “.. had improve and NOW using it is almost enjoyable”… Freud could say a lot of things about that lapsus :P


Reply | Threaded
Open this post in threaded view
|

Re: Fwd: Squeak 5 on Raspberry Pi

Nicolai Hess-3-2
In reply to this post by Clément Béra


2016-03-25 7:43 GMT+01:00 Clément Bera <[hidden email]>:
Yeah this is very well-known. Note that here we are talking about the pi B with Spur + the JIT, 2 years ago I remember needing 35 second on the pie A to open Nautilus on the stack vm while the Squeak UI was usable.

The Pharo UI has been focusing on IDE features at the cost of performance, such as auto-completion, better RB integration, Nautilus, new debugging tools... None of the current tools (Nautilus, GTInspector, GTPlayground, ...) are fast enough for slower devices, some of them are barely fast enough for a laptop (for example at some point there was no auto-refresh on GTInspector because of performance). It's not clear if it's due to the new tools themselves as Morphic is drastically slower too on Pharo.


Morphic drasticallly slower ?
I would expect morphic code is mostly the same in pharo and squeak. If
pharo is slower, this is a good starting point for optimising.
Can you gives some hints?

 
The Squeak UI has been focusing on performance and stability. It is very convenient for slow devices but also for slow VM like for example the debug VM.

The official answer to this problem is that Block/Brick will be faster so it will solve all this problems. We will see.
 

2016-03-25 1:15 GMT+01:00 Sean P. DeNigris <[hidden email]>:

> [Squeak 5 is] so *fast* (I have it running next to
> Pharo, which is unusable slow as a GUI.  Whereas Squeak 5 is zipping
> along at Windows desktop speeds on the Pi (Model B).





-----
Cheers,
Sean
--
View this message in context: http://forum.world.st/Fwd-Squeak-5-on-Raspberry-Pi-tp4886416.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.



Reply | Threaded
Open this post in threaded view
|

Re: Squeak 5 on Raspberry Pi

Nicolai Hess-3-2
In reply to this post by EstebanLM


2016-03-25 9:45 GMT+01:00 Esteban Lorenzano <[hidden email]>:

On 25 Mar 2016, at 07:43, Clément Bera <[hidden email]> wrote:

Yeah this is very well-known. Note that here we are talking about the pi B with Spur + the JIT, 2 years ago I remember needing 35 second on the pie A to open Nautilus on the stack vm while the Squeak UI was usable.

The Pharo UI has been focusing on IDE features at the cost of performance, such as auto-completion, better RB integration, Nautilus, new debugging tools... None of the current tools (Nautilus, GTInspector, GTPlayground, ...) are fast enough for slower devices, some of them are barely fast enough for a laptop (for example at some point there was no auto-refresh on GTInspector because of performance). It's not clear if it's due to the new tools themselves as Morphic is drastically slower too on Pharo.

The Squeak UI has been focusing on performance and stability. It is very convenient for slow devices but also for slow VM like for example the debug VM.

The official answer to this problem is that Block/Brick will be faster so it will solve all this problems. We will see.

yes, this is the “semi-official” answer and that’s an error. Yes ideally it will solve some problems (the ones related to Morphic), but current lack of performance on Pharo tools is not because of Morphic but because of some non optimised choices. 
For example, months ago I got pissed because our current list implementation was not fast enough for our tools and that’s why I made FastTable:

But isn't the old list implementation (mostly) the same that is used in squeak (and feels faster there?) ?

 
because it was evident we needed a better design for it. It speeded the startup of Nautilus by an order of magnitude. This is a widget developed with Morphic, but with a not-naive approach, so is fast.
As lists, some others widgets (notably tree) could be optimised… 
But this will not be the solution of the problem either: we need to spend time on optimisation. Nautilus is not a good tool (we all know it has design problems all around) but with the time had improve and not using it is almost enjoyable… but for example, the new debugger (which I’m not criticising as a tool, I like it a lot) makes me hurt… is slower than eclipse debugger and that’s a lot to say. Also new inspector: is good, but can’t we optimise it? maybe we need to make some concession, but is the moment of doing it. 
Recently I’m noticing a slowdown in Spotter: I believe is because one of his categories is refreshing to the network but I’m not sure: this slowdown is not production acceptable, for me is a Show Stopper because it kills the usability of the tool (of a tool who is great, but it HAS to be fast, otherwise is useless).

Mea culpa: more than once I have not protested even knowing than solution X was “10% slower than the older one, but that’s ok, we can live with it”… guess what? once you accumulate enough of those 10% penalties, you have a barely usable system. 

We need to concentrate efforts on performance. There will not be magical solution: if we do not spend time on enhance tools for performance, they will be not good enough.

Can I ask you guys to spend some time optimising tools, before we release Pharo 5? Remember, “First impressions counts”! (we even have a category for it in FogBugz).  

Esteban



 

2016-03-25 1:15 GMT+01:00 Sean P. DeNigris <[hidden email]>:

> [Squeak 5 is] so *fast* (I have it running next to
> Pharo, which is unusable slow as a GUI.  Whereas Squeak 5 is zipping
> along at Windows desktop speeds on the Pi (Model B).





-----
Cheers,
Sean
--
View this message in context: http://forum.world.st/Fwd-Squeak-5-on-Raspberry-Pi-tp4886416.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.




Reply | Threaded
Open this post in threaded view
|

Re: Squeak 5 on Raspberry Pi

EstebanLM

On 25 Mar 2016, at 11:50, Nicolai Hess <[hidden email]> wrote:

But isn't the old list implementation (mostly) the same that is used in squeak (and feels faster there?) ?

yes, but we use it very differently :)
we add tons and tons of functionality on top of it, so we made, Nautilus for example, slower. Is not a problem of the list: is that we are/were using it differently, and in a very different way of his first intention (take a pluggable list, add 1k strings: works… add 1k icons… works worst, but works… add 1k buttons instead those icons… and suffer… :P).

Esteban
Reply | Threaded
Open this post in threaded view
|

Re: Fwd: Squeak 5 on Raspberry Pi

Stephan Eggermont-3
In reply to this post by Nicolai Hess-3-2
On 25-03-16 11:49, Nicolai Hess wrote:
> Morphic drasticallly slower ? I would expect morphic code is mostly the
> same in pharo and squeak. If pharo is slower, this is a good starting
> point for optimising. Can you gives some hints?
I do not have the impression that morphic is so much slower.
We had/have a problem of too many announcements being send and
too many redraws happening.

Stephan


Reply | Threaded
Open this post in threaded view
|

Re: Squeak 5 on Raspberry Pi

Tudor Girba-2
In reply to this post by EstebanLM
Hi,

> On Mar 25, 2016, at 9:45 AM, Esteban Lorenzano <[hidden email]> wrote:
>
>>
>> On 25 Mar 2016, at 07:43, Clément Bera <[hidden email]> wrote:
>>
>> Yeah this is very well-known. Note that here we are talking about the pi B with Spur + the JIT, 2 years ago I remember needing 35 second on the pie A to open Nautilus on the stack vm while the Squeak UI was usable.
>>
>> The Pharo UI has been focusing on IDE features at the cost of performance, such as auto-completion, better RB integration, Nautilus, new debugging tools... None of the current tools (Nautilus, GTInspector, GTPlayground, ...) are fast enough for slower devices, some of them are barely fast enough for a laptop (for example at some point there was no auto-refresh on GTInspector because of performance). It's not clear if it's due to the new tools themselves as Morphic is drastically slower too on Pharo.
>>
>> The Squeak UI has been focusing on performance and stability. It is very convenient for slow devices but also for slow VM like for example the debug VM.
>>
>> The official answer to this problem is that Block/Brick will be faster so it will solve all this problems. We will see.
>
> yes, this is the “semi-official” answer and that’s an error. Yes ideally it will solve some problems (the ones related to Morphic), but current lack of performance on Pharo tools is not because of Morphic but because of some non optimised choices.
> For example, months ago I got pissed because our current list implementation was not fast enough for our tools and that’s why I made FastTable: because it was evident we needed a better design for it. It speeded the startup of Nautilus by an order of magnitude. This is a widget developed with Morphic, but with a not-naive approach, so is fast.
> As lists, some others widgets (notably tree) could be optimised…
> But this will not be the solution of the problem either: we need to spend time on optimisation. Nautilus is not a good tool (we all know it has design problems all around) but with the time had improve and not using it is almost enjoyable… but for example, the new debugger (which I’m not criticising as a tool, I like it a lot) makes me hurt… is slower than eclipse debugger and that’s a lot to say.

That is a good one :). There is an open issue with the blinking problem when you accept code which makes it appear slower than it actually is, but we are stuck with it and we could benefit from help.

> Also new inspector: is good, but can’t we optimise it? maybe we need to make some concession, but is the moment of doing it.

The optimization we should do now is to replace the appearances of MorphTreeMorph with FastTable. This would imply that the Raw presentation would not longer have a tree (because it is not supported in FastTable). I would be very happy if we could do that. Do we agree on this?

> Recently I’m noticing a slowdown in Spotter: I believe is because one of his categories is refreshing to the network but I’m not sure: this slowdown is not production acceptable, for me is a Show Stopper because it kills the usability of the tool (of a tool who is great, but it HAS to be fast, otherwise is useless).

Could you be more specific about the Spotter problem that you see?

Also, in the last couple of days Alex Syrel improved the speed of Spotter significantly. It is not yet integrated. It would be useful to get feedback on this because maybe we missed something.


> Mea culpa: more than once I have not protested even knowing than solution X was “10% slower than the older one, but that’s ok, we can live with it”… guess what? once you accumulate enough of those 10% penalties, you have a barely usable system.
>
> We need to concentrate efforts on performance. There will not be magical solution: if we do not spend time on enhance tools for performance, they will be not good enough.
>
> Can I ask you guys to spend some time optimising tools, before we release Pharo 5? Remember, “First impressions counts”! (we even have a category for it in FogBugz).  

It would indeed be useful to get more eyes spent on this.

Cheers,
Doru

>
> Esteban
>
>
>
>>  
>>
>> 2016-03-25 1:15 GMT+01:00 Sean P. DeNigris <[hidden email]>:
>>
>> > [Squeak 5 is] so *fast* (I have it running next to
>> > Pharo, which is unusable slow as a GUI.  Whereas Squeak 5 is zipping
>> > along at Windows desktop speeds on the Pi (Model B).
>>
>>
>>
>>
>>
>> -----
>> Cheers,
>> Sean
>> --
>> View this message in context: http://forum.world.st/Fwd-Squeak-5-on-Raspberry-Pi-tp4886416.html
>> Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.

--
www.tudorgirba.com
www.feenk.com

"Not knowing how to do something is not an argument for how it cannot be done."


Reply | Threaded
Open this post in threaded view
|

Re: Squeak 5 on Raspberry Pi

Nicolai Hess-3-2


2016-03-25 12:52 GMT+01:00 Tudor Girba <[hidden email]>:
Hi,

> On Mar 25, 2016, at 9:45 AM, Esteban Lorenzano <[hidden email]> wrote:
>
>>
>> On 25 Mar 2016, at 07:43, Clément Bera <[hidden email]> wrote:
>>
>> Yeah this is very well-known. Note that here we are talking about the pi B with Spur + the JIT, 2 years ago I remember needing 35 second on the pie A to open Nautilus on the stack vm while the Squeak UI was usable.
>>
>> The Pharo UI has been focusing on IDE features at the cost of performance, such as auto-completion, better RB integration, Nautilus, new debugging tools... None of the current tools (Nautilus, GTInspector, GTPlayground, ...) are fast enough for slower devices, some of them are barely fast enough for a laptop (for example at some point there was no auto-refresh on GTInspector because of performance). It's not clear if it's due to the new tools themselves as Morphic is drastically slower too on Pharo.
>>
>> The Squeak UI has been focusing on performance and stability. It is very convenient for slow devices but also for slow VM like for example the debug VM.
>>
>> The official answer to this problem is that Block/Brick will be faster so it will solve all this problems. We will see.
>
> yes, this is the “semi-official” answer and that’s an error. Yes ideally it will solve some problems (the ones related to Morphic), but current lack of performance on Pharo tools is not because of Morphic but because of some non optimised choices.
> For example, months ago I got pissed because our current list implementation was not fast enough for our tools and that’s why I made FastTable: because it was evident we needed a better design for it. It speeded the startup of Nautilus by an order of magnitude. This is a widget developed with Morphic, but with a not-naive approach, so is fast.
> As lists, some others widgets (notably tree) could be optimised…
> But this will not be the solution of the problem either: we need to spend time on optimisation. Nautilus is not a good tool (we all know it has design problems all around) but with the time had improve and not using it is almost enjoyable… but for example, the new debugger (which I’m not criticising as a tool, I like it a lot) makes me hurt… is slower than eclipse debugger and that’s a lot to say.

That is a good one :). There is an open issue with the blinking problem when you accept code which makes it appear slower than it actually is, but we are stuck with it and we could benefit from help.


"appear slower than it actually is" Really?
Aliaksei comment was:
"Each code accept triggers a lot of glamour inner stuff and in the end refreshes the almost whole debugger interface. (Panes, Tabulator, LazyTable and so on)"

So, is it slow, or does it just look slow?



 

> Also new inspector: is good, but can’t we optimise it? maybe we need to make some concession, but is the moment of doing it.

The optimization we should do now is to replace the appearances of MorphTreeMorph with FastTable. This would imply that the Raw presentation would not longer have a tree (because it is not supported in FastTable). I would be very happy if we could do that. Do we agree on this?

> Recently I’m noticing a slowdown in Spotter: I believe is because one of his categories is refreshing to the network but I’m not sure: this slowdown is not production acceptable, for me is a Show Stopper because it kills the usability of the tool (of a tool who is great, but it HAS to be fast, otherwise is useless).

Could you be more specific about the Spotter problem that you see?

Also, in the last couple of days Alex Syrel improved the speed of Spotter significantly. It is not yet integrated. It would be useful to get feedback on this because maybe we missed something.


> Mea culpa: more than once I have not protested even knowing than solution X was “10% slower than the older one, but that’s ok, we can live with it”… guess what? once you accumulate enough of those 10% penalties, you have a barely usable system.
>
> We need to concentrate efforts on performance. There will not be magical solution: if we do not spend time on enhance tools for performance, they will be not good enough.
>
> Can I ask you guys to spend some time optimising tools, before we release Pharo 5? Remember, “First impressions counts”! (we even have a category for it in FogBugz).

It would indeed be useful to get more eyes spent on this.

Cheers,
Doru

>
> Esteban
>
>
>
>>
>>
>> 2016-03-25 1:15 GMT+01:00 Sean P. DeNigris <[hidden email]>:
>>
>> > [Squeak 5 is] so *fast* (I have it running next to
>> > Pharo, which is unusable slow as a GUI.  Whereas Squeak 5 is zipping
>> > along at Windows desktop speeds on the Pi (Model B).
>>
>>
>>
>>
>>
>> -----
>> Cheers,
>> Sean
>> --
>> View this message in context: http://forum.world.st/Fwd-Squeak-5-on-Raspberry-Pi-tp4886416.html
>> Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.

--
www.tudorgirba.com
www.feenk.com

"Not knowing how to do something is not an argument for how it cannot be done."



Reply | Threaded
Open this post in threaded view
|

Re: Squeak 5 on Raspberry Pi

EstebanLM
In reply to this post by Tudor Girba-2
Hi, 

On 25 Mar 2016, at 12:52, Tudor Girba <[hidden email]> wrote:

Hi,

On Mar 25, 2016, at 9:45 AM, Esteban Lorenzano <[hidden email]> wrote:


On 25 Mar 2016, at 07:43, Clément Bera <[hidden email]> wrote:

Yeah this is very well-known. Note that here we are talking about the pi B with Spur + the JIT, 2 years ago I remember needing 35 second on the pie A to open Nautilus on the stack vm while the Squeak UI was usable.

The Pharo UI has been focusing on IDE features at the cost of performance, such as auto-completion, better RB integration, Nautilus, new debugging tools... None of the current tools (Nautilus, GTInspector, GTPlayground, ...) are fast enough for slower devices, some of them are barely fast enough for a laptop (for example at some point there was no auto-refresh on GTInspector because of performance). It's not clear if it's due to the new tools themselves as Morphic is drastically slower too on Pharo.

The Squeak UI has been focusing on performance and stability. It is very convenient for slow devices but also for slow VM like for example the debug VM.

The official answer to this problem is that Block/Brick will be faster so it will solve all this problems. We will see.

yes, this is the “semi-official” answer and that’s an error. Yes ideally it will solve some problems (the ones related to Morphic), but current lack of performance on Pharo tools is not because of Morphic but because of some non optimised choices. 
For example, months ago I got pissed because our current list implementation was not fast enough for our tools and that’s why I made FastTable: because it was evident we needed a better design for it. It speeded the startup of Nautilus by an order of magnitude. This is a widget developed with Morphic, but with a not-naive approach, so is fast.
As lists, some others widgets (notably tree) could be optimised… 
But this will not be the solution of the problem either: we need to spend time on optimisation. Nautilus is not a good tool (we all know it has design problems all around) but with the time had improve and not using it is almost enjoyable… but for example, the new debugger (which I’m not criticising as a tool, I like it a lot) makes me hurt… is slower than eclipse debugger and that’s a lot to say.

That is a good one :). There is an open issue with the blinking problem when you accept code which makes it appear slower than it actually is, but we are stuck with it and we could benefit from help.

Also new inspector: is good, but can’t we optimise it? maybe we need to make some concession, but is the moment of doing it. 

The optimization we should do now is to replace the appearances of MorphTreeMorph with FastTable. This would imply that the Raw presentation would not longer have a tree (because it is not supported in FastTable). I would be very happy if we could do that. Do we agree on this?

actually there is a tree implementation based on fast table, but I’m not sure is production ready (Cyril can say something about).
But anyway since I never understood why we have a tree there (since we will “open” attribute in next panel), I do agree, strongly :)


Recently I’m noticing a slowdown in Spotter: I believe is because one of his categories is refreshing to the network but I’m not sure: this slowdown is not production acceptable, for me is a Show Stopper because it kills the usability of the tool (of a tool who is great, but it HAS to be fast, otherwise is useless).

Could you be more specific about the Spotter problem that you see?

not sure, I open and it takes some seconds to actually show anything. I thought it was caused because of the catalog refresh to populate projects, but I’m not sure. 
In any case, load catalog projects in spotter is cool, but we need to find a better implementation. One that does not freezes spotter until it refresh (remember, Pharo is also used in places with crapy connection or not connection at all).


Also, in the last couple of days Alex Syrel improved the speed of Spotter significantly. It is not yet integrated. It would be useful to get feedback on this because maybe we missed something.


Mea culpa: more than once I have not protested even knowing than solution X was “10% slower than the older one, but that’s ok, we can live with it”… guess what? once you accumulate enough of those 10% penalties, you have a barely usable system. 

We need to concentrate efforts on performance. There will not be magical solution: if we do not spend time on enhance tools for performance, they will be not good enough.

Can I ask you guys to spend some time optimising tools, before we release Pharo 5? Remember, “First impressions counts”! (we even have a category for it in FogBugz).  

It would indeed be useful to get more eyes spent on this.

yes!

if you want to suffer, do this experiment: 
1. open a Pharo2 and open debugger on anything
2. then Pharo3, 4 and 5… feel the incremental slowdown
3. cry :’(

Esteban


Cheers,
Doru


Esteban





2016-03-25 1:15 GMT+01:00 Sean P. DeNigris <[hidden email]>:

[Squeak 5 is] so *fast* (I have it running next to
Pharo, which is unusable slow as a GUI.  Whereas Squeak 5 is zipping
along at Windows desktop speeds on the Pi (Model B).





-----
Cheers,
Sean
--
View this message in context: http://forum.world.st/Fwd-Squeak-5-on-Raspberry-Pi-tp4886416.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.

--
www.tudorgirba.com
www.feenk.com

"Not knowing how to do something is not an argument for how it cannot be done."

Reply | Threaded
Open this post in threaded view
|

Re: Squeak 5 on Raspberry Pi

kilon.alios
well so far for me at least pharo 5 works ok perfomance wise on my quad core imac and my dual core macbook air. The only serious slow down I have is when loading images but I suspect this code is forked from Squeak anyway.

System Browser was indeed a big issue with large classes but after FastTable it works fine.

Overall I am very happy with Pharo. But I also avoid heavy computation with pharo.

I am in favor of optimization coming later on development cycle.

Like all things we need to grow a community of interested pharo developers that will us Pi not just as a toy but a useful device , the more we have the more likely is that someone will step in front of others to fix some of those issues. Personally I have a Pi which I bought mostly to support the project , I never found a reason to use it. I am actually on the opposite side of hi-tech graphics which also Pharo does not support at all. So I step in and bring that support to Pharo because I need it and because I love Pharo.

Problems dont magically solve themselves, we need more contributors.

On Fri, Mar 25, 2016 at 2:33 PM Esteban Lorenzano <[hidden email]> wrote:
Hi, 

On 25 Mar 2016, at 12:52, Tudor Girba <[hidden email]> wrote:

Hi,

On Mar 25, 2016, at 9:45 AM, Esteban Lorenzano <[hidden email]> wrote:


On 25 Mar 2016, at 07:43, Clément Bera <[hidden email]> wrote:

Yeah this is very well-known. Note that here we are talking about the pi B with Spur + the JIT, 2 years ago I remember needing 35 second on the pie A to open Nautilus on the stack vm while the Squeak UI was usable.

The Pharo UI has been focusing on IDE features at the cost of performance, such as auto-completion, better RB integration, Nautilus, new debugging tools... None of the current tools (Nautilus, GTInspector, GTPlayground, ...) are fast enough for slower devices, some of them are barely fast enough for a laptop (for example at some point there was no auto-refresh on GTInspector because of performance). It's not clear if it's due to the new tools themselves as Morphic is drastically slower too on Pharo.

The Squeak UI has been focusing on performance and stability. It is very convenient for slow devices but also for slow VM like for example the debug VM.

The official answer to this problem is that Block/Brick will be faster so it will solve all this problems. We will see.

yes, this is the “semi-official” answer and that’s an error. Yes ideally it will solve some problems (the ones related to Morphic), but current lack of performance on Pharo tools is not because of Morphic but because of some non optimised choices. 
For example, months ago I got pissed because our current list implementation was not fast enough for our tools and that’s why I made FastTable: because it was evident we needed a better design for it. It speeded the startup of Nautilus by an order of magnitude. This is a widget developed with Morphic, but with a not-naive approach, so is fast.
As lists, some others widgets (notably tree) could be optimised… 
But this will not be the solution of the problem either: we need to spend time on optimisation. Nautilus is not a good tool (we all know it has design problems all around) but with the time had improve and not using it is almost enjoyable… but for example, the new debugger (which I’m not criticising as a tool, I like it a lot) makes me hurt… is slower than eclipse debugger and that’s a lot to say.

That is a good one :). There is an open issue with the blinking problem when you accept code which makes it appear slower than it actually is, but we are stuck with it and we could benefit from help.

Also new inspector: is good, but can’t we optimise it? maybe we need to make some concession, but is the moment of doing it. 

The optimization we should do now is to replace the appearances of MorphTreeMorph with FastTable. This would imply that the Raw presentation would not longer have a tree (because it is not supported in FastTable). I would be very happy if we could do that. Do we agree on this?

actually there is a tree implementation based on fast table, but I’m not sure is production ready (Cyril can say something about).
But anyway since I never understood why we have a tree there (since we will “open” attribute in next panel), I do agree, strongly :)


Recently I’m noticing a slowdown in Spotter: I believe is because one of his categories is refreshing to the network but I’m not sure: this slowdown is not production acceptable, for me is a Show Stopper because it kills the usability of the tool (of a tool who is great, but it HAS to be fast, otherwise is useless).

Could you be more specific about the Spotter problem that you see?

not sure, I open and it takes some seconds to actually show anything. I thought it was caused because of the catalog refresh to populate projects, but I’m not sure. 
In any case, load catalog projects in spotter is cool, but we need to find a better implementation. One that does not freezes spotter until it refresh (remember, Pharo is also used in places with crapy connection or not connection at all).


Also, in the last couple of days Alex Syrel improved the speed of Spotter significantly. It is not yet integrated. It would be useful to get feedback on this because maybe we missed something.


Mea culpa: more than once I have not protested even knowing than solution X was “10% slower than the older one, but that’s ok, we can live with it”… guess what? once you accumulate enough of those 10% penalties, you have a barely usable system. 

We need to concentrate efforts on performance. There will not be magical solution: if we do not spend time on enhance tools for performance, they will be not good enough.

Can I ask you guys to spend some time optimising tools, before we release Pharo 5? Remember, “First impressions counts”! (we even have a category for it in FogBugz).  

It would indeed be useful to get more eyes spent on this.

yes!

if you want to suffer, do this experiment: 
1. open a Pharo2 and open debugger on anything
2. then Pharo3, 4 and 5… feel the incremental slowdown
3. cry :’(

Esteban


Cheers,
Doru


Esteban





2016-03-25 1:15 GMT+01:00 Sean P. DeNigris <[hidden email]>:

[Squeak 5 is] so *fast* (I have it running next to
Pharo, which is unusable slow as a GUI.  Whereas Squeak 5 is zipping
along at Windows desktop speeds on the Pi (Model B).





-----
Cheers,
Sean
--
View this message in context: http://forum.world.st/Fwd-Squeak-5-on-Raspberry-Pi-tp4886416.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.

--
www.tudorgirba.com
www.feenk.com

"Not knowing how to do something is not an argument for how it cannot be done."
Reply | Threaded
Open this post in threaded view
|

Re: Fwd: Squeak 5 on Raspberry Pi

HilaireFernandes
In reply to this post by Stephan Eggermont-3
Not exactly related to Announcement, but I remember when I first port
DrGeo to Squeak (at that time Pharo did not exist) I used a lot of
change/update when objects in the canvas changed. It was terribly slow,
and later opted for a top-down update in the list of object.

So some sometime what look like a cool stuff (decoupled objects) is just
a drag.

Regarding optimizing, I share my opinion here months ago, I think Pharo
need consolidation releases: no new features, only bugs fix and speed
improvement. There are enough new features in Pharo for a couple of
years, but the product need to *be* solid and *feel* solid.

Hilaire

Le 25/03/2016 12:33, Stephan Eggermont a écrit :

> On 25-03-16 11:49, Nicolai Hess wrote:
>> Morphic drasticallly slower ? I would expect morphic code is mostly
>> the same in pharo and squeak. If pharo is slower, this is a good
>> starting point for optimising. Can you gives some hints?
> I do not have the impression that morphic is so much slower.
> We had/have a problem of too many announcements being send and
> too many redraws happening.
>
> Stephan
>
>

--
Dr. Geo
http://drgeo.eu


Reply | Threaded
Open this post in threaded view
|

Re: Fwd: Squeak 5 on Raspberry Pi

Nicolai Hess-3-2


2016-03-25 18:18 GMT+01:00 Hilaire <[hidden email]>:
Not exactly related to Announcement, but I remember when I first port
DrGeo to Squeak (at that time Pharo did not exist) I used a lot of
change/update when objects in the canvas changed. It was terribly slow,
and later opted for a top-down update in the list of object.

So some sometime what look like a cool stuff (decoupled objects) is just
a drag.

Regarding optimizing, I share my opinion here months ago, I think Pharo
need consolidation releases: no new features, only bugs fix and speed
improvement. There are enough new features in Pharo for a couple of
years, but the product need to *be* solid and *feel* solid.

+1
 

Hilaire

Le 25/03/2016 12:33, Stephan Eggermont a écrit :
> On 25-03-16 11:49, Nicolai Hess wrote:
>> Morphic drasticallly slower ? I would expect morphic code is mostly
>> the same in pharo and squeak. If pharo is slower, this is a good
>> starting point for optimising. Can you gives some hints?
> I do not have the impression that morphic is so much slower.
> We had/have a problem of too many announcements being send and
> too many redraws happening.
>
> Stephan
>
>

--
Dr. Geo
http://drgeo.eu



Reply | Threaded
Open this post in threaded view
|

Re: Fwd: Squeak 5 on Raspberry Pi

Clément Béra


2016-03-25 18:30 GMT+01:00 Nicolai Hess <[hidden email]>:


2016-03-25 18:18 GMT+01:00 Hilaire <[hidden email]>:
Not exactly related to Announcement, but I remember when I first port
DrGeo to Squeak (at that time Pharo did not exist) I used a lot of
change/update when objects in the canvas changed. It was terribly slow,
and later opted for a top-down update in the list of object.

So some sometime what look like a cool stuff (decoupled objects) is just
a drag.

Regarding optimizing, I share my opinion here months ago, I think Pharo
need consolidation releases: no new features, only bugs fix and speed
improvement. There are enough new features in Pharo for a couple of
years, but the product need to *be* solid and *feel* solid.

+1
 
 
Agreed. 


Hilaire

Le 25/03/2016 12:33, Stephan Eggermont a écrit :
> On 25-03-16 11:49, Nicolai Hess wrote:
>> Morphic drasticallly slower ? I would expect morphic code is mostly
>> the same in pharo and squeak. If pharo is slower, this is a good
>> starting point for optimising. Can you gives some hints?
> I do not have the impression that morphic is so much slower.
> We had/have a problem of too many announcements being send and
> too many redraws happening.
>
> Stephan
>
>

--
Dr. Geo
http://drgeo.eu




Reply | Threaded
Open this post in threaded view
|

Re: Fwd: Squeak 5 on Raspberry Pi

philippe.back@highoctane.be
In reply to this post by HilaireFernandes

yes!

Maybe a solid core with a layer of fast evolving things.

That's the model for Hortonworks now. A stable Hadoop core for stability and fast updates for things like Spark.

Phil

On Mar 25, 2016 6:19 PM, "Hilaire" <[hidden email]> wrote:
Not exactly related to Announcement, but I remember when I first port
DrGeo to Squeak (at that time Pharo did not exist) I used a lot of
change/update when objects in the canvas changed. It was terribly slow,
and later opted for a top-down update in the list of object.

So some sometime what look like a cool stuff (decoupled objects) is just
a drag.

Regarding optimizing, I share my opinion here months ago, I think Pharo
need consolidation releases: no new features, only bugs fix and speed
improvement. There are enough new features in Pharo for a couple of
years, but the product need to *be* solid and *feel* solid.

Hilaire

Le 25/03/2016 12:33, Stephan Eggermont a écrit :
> On 25-03-16 11:49, Nicolai Hess wrote:
>> Morphic drasticallly slower ? I would expect morphic code is mostly
>> the same in pharo and squeak. If pharo is slower, this is a good
>> starting point for optimising. Can you gives some hints?
> I do not have the impression that morphic is so much slower.
> We had/have a problem of too many announcements being send and
> too many redraws happening.
>
> Stephan
>
>

--
Dr. Geo
http://drgeo.eu


Reply | Threaded
Open this post in threaded view
|

Re: Fwd: Squeak 5 on Raspberry Pi

stepharo
In reply to this post by Nicolai Hess-3-2
So guys, you do not want Xtreams (and prefer to use Streams that have been "designed" decades ago) ;D ?
no bootstrapped core (clement you do not want to have a mini image :) ? and a new UI frameworks?

I personnally want to have new widgets, a real UI builder and massively cleaning Spec.
Now I would like to have multiple tool sets -  I understand that people like the new debugger (I do not like it) - 
I want the possibility to have a mini tools tool set.

If you want to clean Pharo you can start cleaning Komitter stupid use of state pattern generating
a lot of garbage instead of having a single animated morph.

We should clean Versionner- I have the impression that half of the classes are not mandatory.

Stef



2016-03-25 18:18 GMT+01:00 Hilaire <[hidden email]>:
Not exactly related to Announcement, but I remember when I first port
DrGeo to Squeak (at that time Pharo did not exist) I used a lot of
change/update when objects in the canvas changed. It was terribly slow,
and later opted for a top-down update in the list of object.

So some sometime what look like a cool stuff (decoupled objects) is just
a drag.

Regarding optimizing, I share my opinion here months ago, I think Pharo
need consolidation releases: no new features, only bugs fix and speed
improvement. There are enough new features in Pharo for a couple of
years, but the product need to *be* solid and *feel* solid.

+1
 

Hilaire

Le 25/03/2016 12:33, Stephan Eggermont a écrit :
> On 25-03-16 11:49, Nicolai Hess wrote:
>> Morphic drasticallly slower ? I would expect morphic code is mostly
>> the same in pharo and squeak. If pharo is slower, this is a good
>> starting point for optimising. Can you gives some hints?
> I do not have the impression that morphic is so much slower.
> We had/have a problem of too many announcements being send and
> too many redraws happening.
>
> Stephan
>
>

--
Dr. Geo
http://drgeo.eu




Reply | Threaded
Open this post in threaded view
|

Re: Fwd: Squeak 5 on Raspberry Pi

stepharo
In reply to this post by philippe.back@highoctane.be
But pharo is solid.
When is the last time we changed FFI and GC and new object representations?

You see FFI is really really important not having one = no Pharo.

So yes Pharo is doing too much stuff and we should have sprint to clean and optimise
but FFI and Spur are important.

Stef

Le 25/3/16 20:37, [hidden email] a écrit :

yes!

Maybe a solid core with a layer of fast evolving things.

That's the model for Hortonworks now. A stable Hadoop core for stability and fast updates for things like Spark.

Phil

On Mar 25, 2016 6:19 PM, "Hilaire" <[hidden email]> wrote:
Not exactly related to Announcement, but I remember when I first port
DrGeo to Squeak (at that time Pharo did not exist) I used a lot of
change/update when objects in the canvas changed. It was terribly slow,
and later opted for a top-down update in the list of object.

So some sometime what look like a cool stuff (decoupled objects) is just
a drag.

Regarding optimizing, I share my opinion here months ago, I think Pharo
need consolidation releases: no new features, only bugs fix and speed
improvement. There are enough new features in Pharo for a couple of
years, but the product need to *be* solid and *feel* solid.

Hilaire

Le 25/03/2016 12:33, Stephan Eggermont a écrit :
> On 25-03-16 11:49, Nicolai Hess wrote:
>> Morphic drasticallly slower ? I would expect morphic code is mostly
>> the same in pharo and squeak. If pharo is slower, this is a good
>> starting point for optimising. Can you gives some hints?
> I do not have the impression that morphic is so much slower.
> We had/have a problem of too many announcements being send and
> too many redraws happening.
>
> Stephan
>
>

--
Dr. Geo
http://drgeo.eu



Reply | Threaded
Open this post in threaded view
|

Re: Fwd: Squeak 5 on Raspberry Pi

Nicolai Hess-3-2
In reply to this post by stepharo


2016-03-25 22:27 GMT+01:00 stepharo <[hidden email]>:
So guys, you do not want Xtreams (and prefer to use Streams that have been "designed" decades ago) ;D ?
no bootstrapped core (clement you do not want to have a mini image :) ? and a new UI frameworks?

I want a clean and stable core.

The way Rubric and GT-Tools were pushed into the core was a mess.
Rubric is a big bad bunch of badly documented code with lots of copy-paste garbage - we should do better.
And since it was included I hear it was abandoned by alain and TxText is the next.
I see up to no development for TxText.
The same for Athens, bugs or requests for conclusins I entered in FogBugz are, or will be closed (timout)
because no one cares.
Instead Athens is used as it is or change by others  just for its own projects (roassal, Bloc, Brick).

 

I personnally want to have new widgets, a real UI builder and massively cleaning Spec.

me too, but what is the purpose of spec, if we replace all tools based on spec (debugger/inspector/...) with GT-Tools?

 
Now I would like to have multiple tool sets -  I understand that people like the new debugger (I do not like it) - 
I want the possibility to have a mini tools tool set.

If you want to clean Pharo

I fix bugs, there are many bugs.
 
you can start cleaning Komitter stupid use of state pattern generating
a lot of garbage instead of having a single animated morph.

We should clean Versionner- I have the impression that half of the classes are not mandatory.


Our tools are in a much more worse state than in Pharo 4, not clean, not stable.
We are in code freeze since 6 weeks, and there are still many new changes instead of only bug fixes.

 
Stef




2016-03-25 18:18 GMT+01:00 Hilaire <[hidden email]>:
Not exactly related to Announcement, but I remember when I first port
DrGeo to Squeak (at that time Pharo did not exist) I used a lot of
change/update when objects in the canvas changed. It was terribly slow,
and later opted for a top-down update in the list of object.

So some sometime what look like a cool stuff (decoupled objects) is just
a drag.

Regarding optimizing, I share my opinion here months ago, I think Pharo
need consolidation releases: no new features, only bugs fix and speed
improvement. There are enough new features in Pharo for a couple of
years, but the product need to *be* solid and *feel* solid.

+1
 

Hilaire

Le 25/03/2016 12:33, Stephan Eggermont a écrit :
> On 25-03-16 11:49, Nicolai Hess wrote:
>> Morphic drasticallly slower ? I would expect morphic code is mostly
>> the same in pharo and squeak. If pharo is slower, this is a good
>> starting point for optimising. Can you gives some hints?
> I do not have the impression that morphic is so much slower.
> We had/have a problem of too many announcements being send and
> too many redraws happening.
>
> Stephan
>
>

--
Dr. Geo
http://drgeo.eu





12