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

Reply via email to