<div dir="ltr"><div class="gmail_extra">No luck (empty profile). I also tried with errortrace and with providing/requiring main instead of dynamic-require and calling main in the profiling, but same effect.<br></div><div class="gmail_extra">

I had actually already tried also before posting, and this is why I used these explicit `time` and `current-milliseconds` calls.<br><br></div><div class="gmail_extra">I think the program itself is fast enough, but that it may make numerous X calls, that make Xorg use 100% cpu during those seconds.<br>

</div><div class="gmail_extra">No idea what these calls might be though.<br><br></div><div class="gmail_extra">I also tried on a different computer (older, but recent Mint), and it works fine. Looks very local to my computer then.<br>

</div><div class="gmail_extra"><br></div><div class="gmail_extra">Laurent<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 22, 2014 at 1:41 PM, Robby Findler <span dir="ltr"><<a href="mailto:robby@eecs.northwestern.edu" target="_blank">robby@eecs.northwestern.edu</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I'm not sure if this will work, but here's an attempt to profile a<br>
2htdp/universe program. If you put your program in one file called,<br>
say, tmp.rkt and then run the program below (closing the big-bang<br>
window after a while), you should get a profile of something. Maybe it<br>
will be useful.<br>
<br>
#lang racket<br>
<br>
(require profile)<br>
(profile<br>
 (dynamic-require "tmp.rkt" #f)<br>
 #:threads #t)<br>
<span class="HOEnZb"><font color="#888888"><br>
Robby<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Tue, Apr 22, 2014 at 6:30 AM, Laurent <<a href="mailto:laurent.orseau@gmail.com">laurent.orseau@gmail.com</a>> wrote:<br>
> Thank you all for your answers. The problem seems to be on my end then.<br>
> However, some other graphic programs that draw in a canvas are not slow on<br>
> my computer.<br>
><br>
> Does `big-bang` do something in particular regarding graphics?<br>
><br>
> Laurent<br>
><br>
><br>
> On Mon, Apr 21, 2014 at 10:29 PM, David Vanderson<br>
> <<a href="mailto:david.vanderson@gmail.com">david.vanderson@gmail.com</a>> wrote:<br>
>><br>
>> It's fast for me - Linux Mint, both Racket 6.0 and 6.0.1.5 (from git just<br>
>> now) with cairo 2.11200.2.<br>
>><br>
>> Dave<br>
>><br>
>><br>
>> On 04/21/2014 11:10 AM, Laurent wrote:<br>
>><br>
>> My version of Cairo is 2.11000.2. What's yours, Sean?<br>
>> (probably: ls /usr/lib/i386-linux-gnu/libcairo.so*)<br>
>><br>
>><br>
>> On Mon, Apr 21, 2014 at 4:51 PM, Robby Findler<br>
>> <<a href="mailto:robby@eecs.northwestern.edu">robby@eecs.northwestern.edu</a>> wrote:<br>
>>><br>
>>> If the versions of Cairo are the same, then that eliminates one<br>
>>> possible route of inquiry.<br>
>>><br>
>>> Robby<br>
>>><br>
>>> On Mon, Apr 21, 2014 at 9:45 AM, Laurent <<a href="mailto:laurent.orseau@gmail.com">laurent.orseau@gmail.com</a>><br>
>>> wrote:<br>
>>> > Thanks Sean.<br>
>>> > (I forgot to mention that I was testing on Racket 6.0.1.4).<br>
>>> > Apparently it does not lag on your machine, so it might be particular<br>
>>> > to my<br>
>>> > machine then? Strange.<br>
>>> ><br>
>>> ><br>
>>> > On Mon, Apr 21, 2014 at 4:32 PM, Sean Kanaley <<a href="mailto:skanaley@gmail.com">skanaley@gmail.com</a>><br>
>>> > wrote:<br>
>>> >><br>
>>> >> Here's my log after pasting the source into command-line racket 6.0,<br>
>>> >> Ubuntu 12.04 32-bit:<br>
>>> >><br>
>>> >> to-draw at 1649<br>
>>> >><br>
>>> >> to-draw: cpu time: 0 real time: 2 gc time: 0<br>
>>> >> on-key a at 2934<br>
>>> >> to-draw at 2934<br>
>>> >><br>
>>> >> to-draw: cpu time: 0 real time: 2 gc time: 0<br>
>>> >> on-key s at 2970<br>
>>> >> to-draw at 2970<br>
>>> >><br>
>>> >> to-draw: cpu time: 4 real time: 3 gc time: 0<br>
>>> >> on-key d at 3044<br>
>>> >> on-key f at 3044<br>
>>> >> to-draw at 3045<br>
>>> >><br>
>>> >> to-draw: cpu time: 0 real time: 0 gc time: 0<br>
>>> >> to-draw at 3069<br>
>>> >> to-draw: cpu time: 0 real time: 1 gc time: 0<br>
>>> >> on-key a at 3198<br>
>>> >> on-key s at 3198<br>
>>> >> to-draw at 3199<br>
>>> >><br>
>>> >> to-draw: cpu time: 4 real time: 3 gc time: 0<br>
>>> >> to-draw at 3329<br>
>>> >><br>
>>> >> to-draw: cpu time: 4 real time: 1 gc time: 0<br>
>>> >> to-draw at 3392<br>
>>> >> to-draw: cpu time: 0 real time: 1 gc time: 0<br>
>>> >> on-key g at 3430<br>
>>> >> on-key j at 3430<br>
>>> >> on-key k at 3430<br>
>>> >> to-draw at 3430<br>
>>> >><br>
>>> >> to-draw: cpu time: 4 real time: 1 gc time: 0<br>
>>> >> to-draw at 3467<br>
>>> >> to-draw: cpu time: 0 real time: 1 gc time: 0<br>
>>> >> on-key a at 3504<br>
>>> >> on-key l at 3504<br>
>>> >> to-draw at 3505<br>
>>> >><br>
>>> >> to-draw: cpu time: 0 real time: 1 gc time: 0<br>
>>> >> to-draw at 3547<br>
>>> >><br>
>>> >> to-draw: cpu time: 4 real time: 1 gc time: 0<br>
>>> >> to-draw at 3572<br>
>>> >> to-draw: cpu time: 0 real time: 1 gc time: 0<br>
>>> >> on-key h at 3602<br>
>>> >> to-draw at 3602<br>
>>> >> to-draw: cpu time: 0 real time: 1 gc time: 0<br>
>>> >> on-key k at 3659<br>
>>> >> on-key ; at 3659<br>
>>> >> to-draw at 3659<br>
>>> >><br>
>>> >> to-draw: cpu time: 4 real time: 3 gc time: 0<br>
>>> >> to-draw at 3689<br>
>>> >><br>
>>> >> to-draw: cpu time: 0 real time: 1 gc time: 0<br>
>>> >> to-draw at 3725<br>
>>> >><br>
>>> >> to-draw: cpu time: 0 real time: 1 gc time: 0<br>
>>> >> to-draw at 3776<br>
>>> >> to-draw: cpu time: 0 real time: 1 gc time: 0<br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >> On Mon, Apr 21, 2014 at 10:00 AM, Laurent <<a href="mailto:laurent.orseau@gmail.com">laurent.orseau@gmail.com</a>><br>
>>> >> wrote:<br>
>>> >>><br>
>>> >>> I have a 2htdp/universe program that used to run fast enough a few<br>
>>> >>> months<br>
>>> >>> ago, but now it is very slow and not usable.<br>
>>> >>> The slowness seems to be because of the on-screen rendering, and not<br>
>>> >>> because of the generation of the image.<br>
>>> >>><br>
>>> >>> Here is a stripped-down version that shows this behavior:<br>
>>> >>> <a href="https://gist.github.com/Metaxal/11142941" target="_blank">https://gist.github.com/Metaxal/11142941</a><br>
>>> >>><br>
>>> >>> In the following log, you see that the `on-key` events are very close<br>
>>> >>> one<br>
>>> >>> to the other (in milliseconds after the beginning of the program),<br>
>>> >>> but the<br>
>>> >>> corresponding `to-draw` events are separated by more than a second,<br>
>>> >>> even<br>
>>> >>> though generating the image (cpu time) takes almost no time:<br>
>>> >>><br>
>>> >>> on-key a at 6906<br>
>>> >>> on-key u at 6912<br>
>>> >>> on-key i at 6912<br>
>>> >>> on-key e at 6913<br>
>>> >>> to-draw at 6913<br>
>>> >>> to-draw: cpu time: 4 real time: 3 gc time: 0<br>
>>> >>> to-draw at 8598<br>
>>> >>> to-draw: cpu time: 4 real time: 2 gc time: 0<br>
>>> >>> to-draw at 11948<br>
>>> >>> to-draw: cpu time: 4 real time: 2 gc time: 0<br>
>>> >>> to-draw at 13631<br>
>>> >>> to-draw: cpu time: 0 real time: 2 gc time: 0<br>
>>> >>> to-draw at 161839<br>
>>> >>> to-draw: cpu time: 4 real time: 9 gc time: 0<br>
>>> >>><br>
>>> >>> During those long seconds, Xorg is almost at 100% cpu.<br>
>>> >>><br>
>>> >>> However, using an empty scene instead of an image is fast.<br>
>>> >>> The time also depends on the size of the grid.<br>
>>> >>><br>
>>> >>> I'm using Ubuntu 12.04 64bits.<br>
>>> >>> I have tried to replicate the behavior on older versions of racket<br>
>>> >>> (5.3.1<br>
>>> >>> and 5.90.0.9) but it's the same. So maybe the problem is not on<br>
>>> >>> Racket's<br>
>>> >>> side but something has changed in Ubuntu?<br>
>>> >>><br>
>>> >>> Does anyone else see the same behavior, either on the same platform<br>
>>> >>> or on<br>
>>> >>> a different one?<br>
>>> >>><br>
>>> >>> Thanks,<br>
>>> >>> Laurent<br>
>>> >>><br>
>>> >>><br>
>>> >>> ____________________<br>
>>> >>>   Racket Users list:<br>
>>> >>>   <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
>>> >>><br>
>>> >><br>
>>> ><br>
>>> ><br>
>>> > ____________________<br>
>>> >   Racket Users list:<br>
>>> >   <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
>>> ><br>
>><br>
>><br>
>><br>
>><br>
>> ____________________<br>
>>   Racket Users list:<br>
>>   <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
>><br>
>><br>
><br>
><br>
> ____________________<br>
>   Racket Users list:<br>
>   <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
><br>
</div></div></blockquote></div><br></div></div>