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