I don't really want this to turn into a heated discussion, Im just
trying to figure out if Im somehow missing any dependencies or tweaks.
I have a very beef dual dual-core computer with 4 gbs of ram, 500gb, and
a really good video card.
Yet, when Im starting/stopping my development server, or clicking
through controller actions, it is very slow.
To give you an idea of how slow, my coworker has an equivalent mac
desktop, which runs things about THREE times fast, thats including
migrations, bootup, controller actions.
Is there something about the ruby interpreter on windows that makes
things so slow.
I don't really want this to turn into a heated discussion, Im just
trying to figure out if Im somehow missing any dependencies or tweaks.
I have a very beef dual dual-core computer with 4 gbs of ram, 500gb, and
a really good video card.
Yet, when Im starting/stopping my development server, or clicking
through controller actions, it is very slow.
To give you an idea of how slow, my coworker has an equivalent mac
desktop, which runs things about THREE times fast, thats including
migrations, bootup, controller actions.
Is there something about the ruby interpreter on windows that makes
things so slow.
Ruby is known for being slower on window than on *nix like platforms.
No idea why.
Someone with far more technical knowledge of the inner workings of
both Windows and *nix would have to speak, but most people I have
spoken to recommend doing development on even a virtual Linux box
because many of the tools you will use "just work" better on Linux
than they do on Windows.
If you go through Deploying Rails Applications book, the authors go on
record to say that Ruby/Rails is about 3 times slower on Windows than
Unix/Linux on comparable boxes. So your experience is in line with
that.
I have a Windows XP laptop with 4 Gig of RAM and two older laptops
with Ubuntu Linux 7.10 installed on them with only 1 Gig RAM. They
execute Rails code faster than the newer Windows laptop with 4 times
as much memory.
I think he is talking about his own experience, not about the book.
My personal tests: running rake or any ruby is much faster on my old
iBook with Tiger than on my Windows XP box with an Intel Core2Duo E6300.
I won't even talk about running autotest on my windows box. "Innovation"
as they call it...
I've had much the same experience. I won't even do development work on
my work box anymore because I am forced to use Windows XP there. I
have a cheap IBM ThinkPad I do most of my developer work with and I
have Ubuntu 8.04.1 loaded onto it.
Thanks a TON for your input. Now I know Im not alone. Im going to look
into developing on mac instead of windows just because of this speed
issue.
You would not be alone in that either. Many people develop Rails on
Macs, I did for a while until finances came into play, but you will
not be disappointed.
Would I be right in saying that mac's are on par in speed as unix
running RoR? Thats been my observation, especially with beefier mac
desktops.
Yes, I believe you would. Enjoy, but I would recommend maybe trying
out one of the newer Linux desktops as well. There might be a learning
curve, but it would at least give you a free alternative to try out
before taking the plunge.
would still be interested whether this a windows(slow I/O?) or ruby/
rails@windows problem?
I'd vote that Windows is the slow component. I was dual booting XP Pro
and Ubuntu 7.10 for a while, and just sourcing a big database in MySQL
was 25 minutes in Windows, 7 minutes in Ubuntu on the same physical
hardware.
Ruby on windows still has to play by the Windows rules, so it may in
fact be slower than ruby on *nix/Mac, but not due to its own faults.
I’m the one who went on record in “Deploying Rails Applications”. Rails isn’t slow on Windows - Ruby is. It was horribly slow almost four years ago when I started, and it’s slow now, although it’s faster because our CPUs have gotten faster. I spent a good majority of my Rails career working on the Windows platform but have since switched to Mac for most things. When I go back to the Windows environment, it’s quite noticeable.
A long time ago, it was explained to me that the compiler used to build Ruby for Windows has some limitations. I’m being intentionally vague here because I can’t remember who said it so I can’t really back that up, I understand that the maintainers of the One Click Ruby Installer are making some nice improvements in performance in some of the test releases out there, so there’s hope.
But to the OP, it’s definitely a Ruby on Windows thing, and it’s a little sad because it makes converting people much more difficult, and where it really hurts is in testing. People stop running rake test:units or rake spec because it’s terribly slow.
The situation gets better all the time though, as talented Rubyists get involved and improve the performance for the Windows users. I personally find Mac the best environment to work on, but Ubuntu is fabulous as well. Sadly enough, even VMWare with an Ubuntu insallation running on top of Windows runs Ruby faster than Windows itself. VMWare + smb mounting can be an interesting way to develop Rails if you can’t move off of Windows (Way more work than it should be though.)