[racket] tool performance: Windows vs Linux

From: George Neuner (gneuner2 at comcast.net)
Date: Mon Dec 22 02:31:59 EST 2014

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



Posted on the users mailing list.