Conversation about how to profile server images on Squeak dev

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

Conversation about how to profile server images on Squeak dev

Herbert König
Hi Folks,

I had a not yet resolved conversation of how to profile a server image
on squeak dev. Every one who wants to find out what the Aida image is
using the processor cycles for might be interested.

Especially in the necessary MessageTally enhancement Andreas Raab
posted there.


http://lists.squeakfoundation.org/pipermail/squeak-dev/2009-February/134393.html

Cheers,

Herbert                          mailto:[hidden email]

_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida
Reply | Threaded
Open this post in threaded view
|

Re: Conversation about how to profile server images on Squeak dev

Janko Mivšek
Hi Herbert,

Thanks to repost it here this thread I also bookmarked and makes me
thinking a bit.

I once did some profiling of Aida on VW and Gemstone and I found that
80% of execition time (on VW) is spent in second step of responding to
the web request: HTML streaming back to the web browser. Gemstone spent
a bit less, about 70%.

As you know in Aida we have a two step building a response to the request:

  1. composing a page to build a tree of web elements
  2. streaming that tree as HTML back to the web browser

So, when we'll need some speedup of Aida, we should tackle the second
part of the story. But so far I didn't see much need for such speedup.

What do others thinks? Anyone in need for such optimizations?

Best regards
Janko





Herbert König pravi:

> Hi Folks,
>
> I had a not yet resolved conversation of how to profile a server image
> on squeak dev. Every one who wants to find out what the Aida image is
> using the processor cycles for might be interested.
>
> Especially in the necessary MessageTally enhancement Andreas Raab
> posted there.
>
>
> http://lists.squeakfoundation.org/pipermail/squeak-dev/2009-February/134393.html
>
> Cheers,
>
> Herbert                          mailto:[hidden email]
>
> _______________________________________________
> Aida mailing list
> [hidden email]
> http://lists.aidaweb.si/mailman/listinfo/aida
>

--
Janko Mivšek
Svetovalec za informatiko
Eranova d.o.o.
Ljubljana, Slovenija
www.eranova.si
tel:  01 514 22 55
faks: 01 514 22 56
gsm: 031 674 565
_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida
Reply | Threaded
Open this post in threaded view
|

Re: Conversation about how to profile server images on Squeak dev

Herbert König
Hi Janko,

I still don't trust the tally completely because i only se the time of the
WebApplication I first refresh and not both apps as I would expect.

JM> As you know in Aida we have a two step building a response to the request:

JM>   1. composing a page to build a tree of web elements
JM>   2. streaming that tree as HTML back to the web browser

JM> So, when we'll need some speedup of Aida, we should tackle the second
JM> part of the story. But so far I didn't see much need for such speedup.

In one of my jobs I still do assembler so I cannot keep my hands off a
profiler :-) Professional disease. For my own purpose I think it's too
early for optimising.

JM> What do others thinks? Anyone in need for such optimizations?

If I would need to speed it up I would try to to cache the html stream
and only copy together pieces.

Something along the lines: Each web element should know if it (or its
model?) changed. If unchanged only return a copy of its cached stream
contents. Otherwise do the normal thing.

So if only one entry in a WebGrid changed all but one would just put
their cached html into the stream. In a next step this could be done
hierarchically, so the table would know, none of its elements changed
and just copy its own cache. If the refresh button were pressed the
whole WebPage would just return its cache.

Hey, I talk about things I don't know enough about :-))

Cheers,

Herbert                            mailto:[hidden email]

_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida
Reply | Threaded
Open this post in threaded view
|

Problem with addMenuCollection

Francisco A. Lizarralde-2
In reply to this post by Janko Mivšek
Hi All,

I have an error with this line in a StudentApp >> viewEdit method

        e cell addMenuCollection: (self observee parent specialities)
selectedToAspect: #name of: self observee speciality.

The observee is a Student and his parent is an application Model who has
a collection of specialities. My intention is to select a speciality
from a drop down menu list, and store it in the student speciality
instance variable. The list shows the speciality names.

The error I get is: Speciality(Object) >> doesNotUnderstand: #readStream

I don't understand what I'm doing wrong. Any help would be appreciated.

Thanks in advance.

Best regards.

Francisco



_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida
Reply | Threaded
Open this post in threaded view
|

Re: Problem with addMenuCollection

Janko Mivšek
Hi Francisco,

Francisco A. Lizarralde pravi:

> I have an error with this line in a StudentApp >> viewEdit method
>
> e cell addMenuCollection: (self observee parent specialities)
> selectedToAspect: #name of: self observee speciality.

Are those specialities just strings? If not, use longer version:

  #addMenuAspect:collection:selectedToAspect:of:

In first aspect you put a name of the method to return a string to
appear in a menu.

Hope this helps
Janko


> The observee is a Student and his parent is an application Model who has
> a collection of specialities. My intention is to select a speciality
> from a drop down menu list, and store it in the student speciality
> instance variable. The list shows the speciality names.
>
> The error I get is: Speciality(Object) >> doesNotUnderstand: #readStream
>
> I don't understand what I'm doing wrong. Any help would be appreciated.


--
Janko Mivšek
AIDA/Web
Smalltalk Web Application Server
http://www.aidaweb.si
_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida
Reply | Threaded
Open this post in threaded view
|

Re: Problem with addMenuCollection

Francisco A. Lizarralde-2
El mié, 20-05-2009 a las 22:46 +0200, Janko Mivšek escribió:
> Are those specialities just strings?
No, I think that's the problem.

> If not, use longer version:
>
>         #addMenuAspect:collection:selectedToAspect:of:
>
> In first aspect you put a name of the method to return a string to
> appear in a menu.
>
> Hope this helps
> Janko

I'll try it, thank you Janko.

Best regards,

Francisco

_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida
Reply | Threaded
Open this post in threaded view
|

Re: Problem with addMenuCollection

Francisco A. Lizarralde-2
In reply to this post by Janko Mivšek
Thanks Janko,

This version works pretty well

        "e cell addMenuAspect: #name collection: (self observee parent
specialities) selectedToAspect: #speciality of: (self observee)."

Best regards,

Francisco

El mié, 20-05-2009 a las 22:46 +0200, Janko Mivšek escribió:

> Hi Francisco,
>
> Francisco A. Lizarralde pravi:
>
> > I have an error with this line in a StudentApp >> viewEdit method
> >
> > e cell addMenuCollection: (self observee parent specialities)
> > selectedToAspect: #name of: self observee speciality.
>
> Are those specialities just strings? If not, use longer version:
>
>   #addMenuAspect:collection:selectedToAspect:of:
>
> In first aspect you put a name of the method to return a string to
> appear in a menu.
>
> Hope this helps
> Janko
>
>
> > The observee is a Student and his parent is an application Model who has
> > a collection of specialities. My intention is to select a speciality
> > from a drop down menu list, and store it in the student speciality
> > instance variable. The list shows the speciality names.
> >
> > The error I get is: Speciality(Object) >> doesNotUnderstand: #readStream
> >
> > I don't understand what I'm doing wrong. Any help would be appreciated.
>
>

_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida