<div dir="ltr">After a raco make r.rkt tr.rkt<br><div><div><div><br>ray@rpr:~$ time racket r.rkt<br><br>real 0m0.036s<br>user 0m0.020s<br>sys 0m0.016s<br>ray@rpr:~$ time racket tr.rkt<br><br>real 0m0.382s<br>user 0m0.352s<br>
sys 0m0.028s<br>ray@rpr:~$ <br><br></div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, May 8, 2013 at 11:26 AM, Sam Tobin-Hochstadt <span dir="ltr"><<a href="mailto:samth@ccs.neu.edu" target="_blank">samth@ccs.neu.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I have a fast SSD, so that might be the difference.<br>
<span class="HOEnZb"><font color="#888888"><br>
Sam<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Wed, May 8, 2013 at 11:05 AM, Ray Racine <<a href="mailto:ray.racine@gmail.com">ray.racine@gmail.com</a>> wrote:<br>
> Oddly<br>
><br>
> ray@rpr:~$ time racket r.rkt<br>
><br>
> real 0m0.052s<br>
> user 0m0.040s<br>
> sys 0m0.012s<br>
><br>
> ray@rpr:~$ time racket tr.rkt<br>
><br>
> real 0m0.958s<br>
> user 0m0.876s<br>
> sys 0m0.080s<br>
><br>
><br>
><br>
> On Wed, May 8, 2013 at 10:35 AM, Sam Tobin-Hochstadt <<a href="mailto:samth@ccs.neu.edu">samth@ccs.neu.edu</a>><br>
> wrote:<br>
>><br>
>> On Wed, May 8, 2013 at 6:19 AM, Carl Eastlund <<a href="mailto:cce@ccs.neu.edu">cce@ccs.neu.edu</a>> wrote:<br>
>> ><br>
>> > I see just under 5 seconds for test.rkt and just over 5 seconds for<br>
>> > utest.rkt. So there's a fraction of a second extra startup time for<br>
>> > Typed<br>
>> > Racket, but it takes less time for each subsequent computation, so the<br>
>> > difference depends on how much "real" work you do after startup. I<br>
>> > don't<br>
>> > know what causes that startup cost, but hopefully this kind of benchmark<br>
>> > will be useful to the Typed Racket maintainers in closing the gap for<br>
>> > future<br>
>> > versions. So, thanks for the example, Manfred!<br>
>><br>
>> This is all true, and you can see it in simpler examples. The empty<br>
>> modules:<br>
>><br>
>> #lang typed/racket/base<br>
>><br>
>> and<br>
>><br>
>> #lang racket/base<br>
>><br>
>> have the following timings:<br>
>><br>
>> [samth@hermes:~/tmp plt] time racket test.rkt<br>
>><br>
>> real 0m0.592s<br>
>> user 0m0.516s<br>
>> sys 0m0.064s<br>
>> [samth@hermes:~/tmp plt] time racket test2.rkt<br>
>><br>
>> real 0m0.065s<br>
>> user 0m0.040s<br>
>> sys 0m0.024s<br>
>><br>
>> So you can see about 500 ms of extra overhead. Most of this time is in<br>
>> loading and executing the runtime dependencies of Typed Racket, which<br>
>> aren't used here, but which the implementation architecture of Typed<br>
>> Racket makes it basically impossible to reduce. We've worked hard to<br>
>> reduce this cost, but it's hard to go much further.<br>
>><br>
>> Sam<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>
</div></div></blockquote></div><br></div>