Transcrip Show: in a loop

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

Transcrip Show: in a loop

abdelghani ALIDRA
Hi all,

In order to monitor my program performance, I am using Transcrip>>show as follows ;

10 timesRepeat:[
    aLongComputation.
    Transcript show: 'some message'.
    ]

The thing is that the messages are not shown one after another but all together after the loop is finished, unless I put a ... self halt
Is this behavior normal? is there any way to make the messages come one by one?

Thanks

Abdelghani
Reply | Threaded
Open this post in threaded view
|

Re: Transcrip Show: in a loop

Blondeau Vincent

Hi,

 

For benchmarking, you should do :

[ aLongComputation] bench

 

It is simpler that to write on Transcript the execution time.

 

About the writing of the messages on Transcript, that is a normal behavior.

Maybe you should try “Transcript flush” to force the message writing?

 

Vincent

 

De : Pharo-users [mailto:[hidden email]] De la part de abdelghani ALIDRA
Envoyé : vendredi 13 novembre 2015 10:21
À : [hidden email]
Objet : [Pharo-users] Transcrip Show: in a loop

 

Hi all,

 

In order to monitor my program performance, I am using Transcrip>>show as follows ;

 

10 timesRepeat:[

    aLongComputation.

    Transcript show: 'some message'.

    ]

 

The thing is that the messages are not shown one after another but all together after the loop is finished, unless I put a ... self halt

Is this behavior normal? is there any way to make the messages come one by one?

 

Thanks

 

Abdelghani




Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.

This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.
Reply | Threaded
Open this post in threaded view
|

Re: Transcrip Show: in a loop

Sven Van Caekenberghe-2
In reply to this post by abdelghani ALIDRA

> On 13 Nov 2015, at 10:20, abdelghani ALIDRA <[hidden email]> wrote:
>
> Hi all,
>
> In order to monitor my program performance, I am using Transcrip>>show as follows ;
>
> 10 timesRepeat:[
>     aLongComputation.
>     Transcript show: 'some message'.
>     ]
>
> The thing is that the messages are not shown one after another but all together after the loop is finished, unless I put a ... self halt
> Is this behavior normal? is there any way to make the messages come one by one?

That happens because your computation executes in the UI thread (i.e. the thread that is doing the drawing), only after everything is done there is time to draw on the screen.

> Thanks
>
> Abdelghani


Reply | Threaded
Open this post in threaded view
|

Re: Transcrip Show: in a loop

abdelghani ALIDRA
In reply to this post by Blondeau Vincent
Thanks Vincent,

 flush does not seem to work but I think I am going to use bench.

Abdelghani


De : Blondeau Vincent <[hidden email]>
À : abdelghani ALIDRA <[hidden email]>; Any question about pharo is welcome <[hidden email]>
Envoyé le : Vendredi 13 novembre 2015 10h37
Objet : RE: [Pharo-users] Transcrip Show: in a loop

Hi,
 
For benchmarking, you should do :
[ aLongComputation] bench
 
It is simpler that to write on Transcript the execution time.
 
About the writing of the messages on Transcript, that is a normal behavior.
Maybe you should try “Transcript flush” to force the message writing?
 
Vincent
 
De : Pharo-users [mailto:[hidden email]] De la part de abdelghani ALIDRA
Envoyé : vendredi 13 novembre 2015 10:21
À : [hidden email]
Objet : [Pharo-users] Transcrip Show: in a loop
 


Hi all,
 
In order to monitor my program performance, I am using Transcrip>>show as follows ;
 
10 timesRepeat:[
    aLongComputation.
    Transcript show: 'some message'.
    ]
 
The thing is that the messages are not shown one after another but all together after the loop is finished, unless I put a ... self halt
Is this behavior normal? is there any way to make the messages come one by one?
 
Thanks
 
Abdelghani



Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.

This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.


Reply | Threaded
Open this post in threaded view
|

Re: Transcrip Show: in a loop

Carlo-2
Hi

You could fork a thread which will free up the UI thread.
e.g.

[ 10 timesRepeat: [ 
aLongComputation.
Transcript show: 'some message' ] ] fork

Regards
Carlo


On 13 Nov 2015, at 12:06 PM, abdelghani ALIDRA <[hidden email]> wrote:

Thanks Vincent,

 flush does not seem to work but I think I am going to use bench.

Abdelghani


De : Blondeau Vincent <[hidden email]>
À : abdelghani ALIDRA <[hidden email]>; Any question about pharo is welcome <[hidden email]> 
Envoyé le : Vendredi 13 novembre 2015 10h37
Objet : RE: [Pharo-users] Transcrip Show: in a loop

Hi,
 
For benchmarking, you should do :
[ aLongComputation] bench
 
It is simpler that to write on Transcript the execution time.
 
About the writing of the messages on Transcript, that is a normal behavior.
Maybe you should try “Transcript flush” to force the message writing?
 
Vincent
 
De : Pharo-users [[hidden email]] De la part de abdelghani ALIDRA
Envoyé : vendredi 13 novembre 2015 10:21
À : [hidden email]
Objet : [Pharo-users] Transcrip Show: in a loop
 


Hi all,
 
In order to monitor my program performance, I am using Transcrip>>show as follows ;
 
10 timesRepeat:[
    aLongComputation.
    Transcript show: 'some message'.
    ]
 
The thing is that the messages are not shown one after another but all together after the loop is finished, unless I put a ... self halt
Is this behavior normal? is there any way to make the messages come one by one?
 
Thanks
 
Abdelghani



Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.

This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.

Reply | Threaded
Open this post in threaded view
|

Re: Transcrip Show: in a loop

abergel
In reply to this post by abdelghani ALIDRA
Hi!

I understand your concern. However, there are better way of doing the benchmarking. Just inspect the following expression:
(1 to: 10) collect: [:i | [ aLongComputation ] timeToRun ]

You can then easily graph the number, do some average…

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



On Nov 13, 2015, at 7:06 AM, abdelghani ALIDRA <[hidden email]> wrote:

Thanks Vincent,

 flush does not seem to work but I think I am going to use bench.

Abdelghani


De : Blondeau Vincent <[hidden email]>
À : abdelghani ALIDRA <[hidden email]>; Any question about pharo is welcome <[hidden email]> 
Envoyé le : Vendredi 13 novembre 2015 10h37
Objet : RE: [Pharo-users] Transcrip Show: in a loop

Hi,
 
For benchmarking, you should do :
[ aLongComputation] bench
 
It is simpler that to write on Transcript the execution time.
 
About the writing of the messages on Transcript, that is a normal behavior.
Maybe you should try “Transcript flush” to force the message writing?
 
Vincent
 
De : Pharo-users [[hidden email]] De la part de abdelghani ALIDRA
Envoyé : vendredi 13 novembre 2015 10:21
À : [hidden email]
Objet : [Pharo-users] Transcrip Show: in a loop
 


Hi all,
 
In order to monitor my program performance, I am using Transcrip>>show as follows ;
 
10 timesRepeat:[
    aLongComputation.
    Transcript show: 'some message'.
    ]
 
The thing is that the messages are not shown one after another but all together after the loop is finished, unless I put a ... self halt
Is this behavior normal? is there any way to make the messages come one by one?
 
Thanks
 
Abdelghani



Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.

This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.

Reply | Threaded
Open this post in threaded view
|

Re: Transcrip Show: in a loop

Marcus Denker-4

For the transcript issue, we have a bug entry:


On 13 Nov 2015, at 10:25, Alexandre Bergel <[hidden email]> wrote:

Hi!

I understand your concern. However, there are better way of doing the benchmarking. Just inspect the following expression:
(1 to: 10) collect: [:i | [ aLongComputation ] timeToRun ]

You can then easily graph the number, do some average…

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



On Nov 13, 2015, at 7:06 AM, abdelghani ALIDRA <[hidden email]> wrote:

Thanks Vincent,

 flush does not seem to work but I think I am going to use bench.

Abdelghani


De : Blondeau Vincent <[hidden email]>
À : abdelghani ALIDRA <[hidden email]>; Any question about pharo is welcome <[hidden email]> 
Envoyé le : Vendredi 13 novembre 2015 10h37
Objet : RE: [Pharo-users] Transcrip Show: in a loop

Hi,
 
For benchmarking, you should do :
[ aLongComputation] bench
 
It is simpler that to write on Transcript the execution time.
 
About the writing of the messages on Transcript, that is a normal behavior.
Maybe you should try “Transcript flush” to force the message writing?
 
Vincent
 
De : Pharo-users [[hidden email]] De la part de abdelghani ALIDRA
Envoyé : vendredi 13 novembre 2015 10:21
À : [hidden email]
Objet : [Pharo-users] Transcrip Show: in a loop
 


Hi all,
 
In order to monitor my program performance, I am using Transcrip>>show as follows ;
 
10 timesRepeat:[
    aLongComputation.
    Transcript show: 'some message'.
    ]
 
The thing is that the messages are not shown one after another but all together after the loop is finished, unless I put a ... self halt
Is this behavior normal? is there any way to make the messages come one by one?
 
Thanks
 
Abdelghani



Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.

This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.


Reply | Threaded
Open this post in threaded view
|

Re: Transcrip Show: in a loop

Sven Van Caekenberghe-2
In reply to this post by abergel

> On 13 Nov 2015, at 14:25, Alexandre Bergel <[hidden email]> wrote:
>
> Hi!
>
> I understand your concern. However, there are better way of doing the benchmarking. Just inspect the following expression:
> (1 to: 10) collect: [:i | [ aLongComputation ] timeToRun ]
>
> You can then easily graph the number, do some average…

Or even

[ 1234 factorial ] benchFor: 2 seconds

which gives you a nice BenchmarkResult object back

> Alexandre
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>> On Nov 13, 2015, at 7:06 AM, abdelghani ALIDRA <[hidden email]> wrote:
>>
>> Thanks Vincent,
>>
>>  flush does not seem to work but I think I am going to use bench.
>>
>> Abdelghani
>>
>> De : Blondeau Vincent <[hidden email]>
>> À : abdelghani ALIDRA <[hidden email]>; Any question about pharo is welcome <[hidden email]>
>> Envoyé le : Vendredi 13 novembre 2015 10h37
>> Objet : RE: [Pharo-users] Transcrip Show: in a loop
>>
>> Hi,
>>  
>> For benchmarking, you should do :
>> [ aLongComputation] bench
>>  
>> It is simpler that to write on Transcript the execution time.
>>  
>> About the writing of the messages on Transcript, that is a normal behavior.
>> Maybe you should try “Transcript flush” to force the message writing?
>>  
>> Vincent
>>  
>> De : Pharo-users [mailto:[hidden email]] De la part de abdelghani ALIDRA
>> Envoyé : vendredi 13 novembre 2015 10:21
>> À : [hidden email]
>> Objet : [Pharo-users] Transcrip Show: in a loop
>>  
>>
>>
>> Hi all,
>>  
>> In order to monitor my program performance, I am using Transcrip>>show as follows ;
>>  
>> 10 timesRepeat:[
>>     aLongComputation.
>>     Transcript show: 'some message'.
>>     ]
>>  
>> The thing is that the messages are not shown one after another but all together after the loop is finished, unless I put a ... self halt
>> Is this behavior normal? is there any way to make the messages come one by one?
>>  
>> Thanks
>>  
>> Abdelghani
>>
>>
>> Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.
>>
>> This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.
>


Reply | Threaded
Open this post in threaded view
|

Re: Transcrip Show: in a loop

abdelghani ALIDRA

Yes, the benchmark object is a nice idea. I just did not know about it

Thanks to all
 
Abdelghani.


De : Sven Van Caekenberghe <[hidden email]>
À : Any question about pharo is welcome <[hidden email]>
Cc : abdelghani ALIDRA <[hidden email]>
Envoyé le : Vendredi 13 novembre 2015 14h32
Objet : Re: [Pharo-users] Transcrip Show: in a loop


> On 13 Nov 2015, at 14:25, Alexandre Bergel <[hidden email]> wrote:
>
> Hi!
>
> I understand your concern. However, there are better way of doing the benchmarking. Just inspect the following expression:
> (1 to: 10) collect: [:i | [ aLongComputation ] timeToRun ]
>
> You can then easily graph the number, do some average…

Or even

[ 1234 factorial ] benchFor: 2 seconds

which gives you a nice BenchmarkResult object back

> Alexandre
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>> On Nov 13, 2015, at 7:06 AM, abdelghani ALIDRA <[hidden email]> wrote:
>>
>> Thanks Vincent,
>>
>>  flush does not seem to work but I think I am going to use bench.
>>
>> Abdelghani
>>
>> De : Blondeau Vincent <[hidden email]>
>> À : abdelghani ALIDRA <[hidden email]>; Any question about pharo is welcome <[hidden email]>
>> Envoyé le : Vendredi 13 novembre 2015 10h37
>> Objet : RE: [Pharo-users] Transcrip Show: in a loop
>>
>> Hi,
>> 
>> For benchmarking, you should do :
>> [ aLongComputation] bench
>> 
>> It is simpler that to write on Transcript the execution time.
>> 
>> About the writing of the messages on Transcript, that is a normal behavior.
>> Maybe you should try “Transcript flush” to force the message writing?
>> 
>> Vincent
>> 
>> De : Pharo-users [mailto:[hidden email]] De la part de abdelghani ALIDRA
>> Envoyé : vendredi 13 novembre 2015 10:21
>> À : [hidden email]
>> Objet : [Pharo-users] Transcrip Show: in a loop
>> 
>>
>>
>> Hi all,
>> 
>> In order to monitor my program performance, I am using Transcrip>>show as follows ;
>> 
>> 10 timesRepeat:[
>>    aLongComputation.
>>    Transcript show: 'some message'.
>>    ]
>> 
>> The thing is that the messages are not shown one after another but all together after the loop is finished, unless I put a ... self halt
>> Is this behavior normal? is there any way to make the messages come one by one?
>> 
>> Thanks
>> 
>> Abdelghani
>>
>>
>> Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.
>>
>> This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.
>