[racket] tool performance: Windows vs Linux

From: Marc Burns (m4burns at uwaterloo.ca)
Date: Tue Dec 23 19:17:33 EST 2014

What is the output on each host if the PLTSTDERR environment variable is
set to 'debug'?

I'm thinking there may be uncompiled modules in your collects on
Windows. Setting PLTSTDERR=debug will show what the compiler is working
on during startup (and perhaps other useful things).

On Mon, Dec 22, 2014 at 02:31:59AM -0500, George Neuner wrote:
> On 12/22/2014 12:02 AM, Neil Van Dyke wrote:
> >Offhand, I don't know why you're seeing such a big difference, then.
> >
> >Regarding various ways that filesystem is cached in RAM, I
> >consistently see a big improvement in Racket startup times when
> >there's caching.  Maybe you're using SSD?
> 
> No SSD ... all is spinning metal.   And as I said previously:  Linux is a
> virtual machine running on VMware on Windows.
> 
> 
> Timing   "racket -e '(void)'   gives me  ~225ms consistently on Linux ...
> 3-4s consistently on Windows.
> 
> 
> Timing a fresh raco make of one of my files is more interesting:
> 
> Linux :
>     time raco make -v utility.ss
>        "utility.ss":
>        [output to "./compiled/utility_ss.zo"]
> 
>     real    0m0.727s
>     user    0m0.484s
>     sys     0m0.244s
> 
> Windows:
> 
>     Measure-Command { raco make -v utility.ss }
> 
>       "utility.ss":
>       [output to ".\compiled\utility_ss.zo"]
> 
>     Days              : 0
>     Hours             : 0
>     Minutes           : 0
>     Seconds           : 18
>     Milliseconds      : 287
>     Ticks             : 182879147
>     TotalDays         : 0.000211665679398148
>     TotalHours        : 0.00507997630555556
>     TotalMinutes      : 0.304798578333333
>     TotalSeconds      : 18.2879147
>     TotalMilliseconds : 18287.9147
> 
> 
> With the file already compiled:
> 
>     Measure-Command { raco make -v utility.ss }
> 
>       "utility.ss":
>       [already up-to-date at ".\compiled\utility_ss.zo"]
> 
>     Days              : 0
>     Hours             : 0
>     Minutes           : 0
>     Seconds           : 11
>     Milliseconds      : 989
>     Ticks             : 119898359
>     TotalDays         : 0.000138771248842593
>     TotalHours        : 0.00333050997222222
>     TotalMinutes      : 0.199830598333333
>     TotalSeconds      : 11.9898359
>     TotalMilliseconds : 11989.8359
> 
> 
> Even just checking timestamps, Windows takes 10 times as long as 1st run on
> Linux.
> Subsequent runs see 1-2 seconds quicker, probably due to caching the
> executable ... but insignificant compared to Linux.
> 
> 
> >Side point: I generally encourage programmers to run GNU/Linux
> >(without Gnome bloat) as their main workstation, unless they're
> >developing specifically for Windows or Mac.  Windows itself might not
> >be the cause of your current problem, but it's the cause of similar
> >problems.
> 
> The Linux machine is a server install - console only - so there certainly is
> a great deal of difference there.  But again, Linux is running in a VM with
> 4 LCPUs (whereas Windows has 8) and is performing it's disk I/O through
> VMware and Windows.
> 
> >Neil V.
> George
> 
> 
> ____________________
>  Racket Users list:
>  http://lists.racket-lang.org/users
> 

Posted on the users mailing list.