My Development Environment is WAY too slow (blame Vista)

I've broken away -- partially at least -- from the dark side. I'm a
long-time MS dev. I heard about Ruby and RR from Scott Hanselman
(http://www.hanselman.com/blog/). He's a great blogger on things in
the MS world but he's always provided a broader perspective. And he
found great beauty in Ruby and RR and said as much.

I had the opportunity to try out Rails and think it is the bomb. I've
spent the past two months reading and tinkering and am about to embark
on an honest to goodness project. And that long preamble leads into
my question.

My dev environment seems way too slow. As an example, starting script/
console takes over 10 seconds. script/server webrick takes 15
seconds. I know that's crazy because I see fabulous response for Ryan
on RailsCast (which I LOVE btw -- thanks Ryan).

So is the problem that I'm running on Vista (shame)... or that my
laptop is a Lenovo T60p with 2GB of memory? Is it the OS, my
underconfiged hardware, or some misconfiguration?

I'm curious what most Rails devs are using? Mac, Linux? Hardware
specs, etc.

Rails is seems so productive, it seems a shame to torture myself. BTW
- TextMate looks great on the Mac (RailsCast); I'm using JEdit on
Vista and it seem pretty good as a Ruby editor.

Hiya,

I used to develop on a Toshiba laptop running Vista on a Toshiba with
2GB of RAM.

Just doing basic development with Netbeans was fine. It ran a little
slower than a linux machine, but it was not really noticeable & did not
effect productivity.

Have you got anything else running..?? You might want to check your CPU
& RAM utilisation.

I did eventually have to move to a linux machine, but this was for MySQL
performance reasons. Queries would take over 2 minutes to return on
Vista took about 4 seconds on a similarly configured linux machine. Nuff
said there.

rgds,
- matt.

Tickex - The search engine for concert, sports & theatre tickets.
http://www.tickex.com

NetBeans on Windows performs about the same as NetBeans on Linux for
me. (Same laptop, Dell XPS M1710, I just have two hard drives that I
swap).

Windows performance for starting a Ruby process isn't impressive. I
get about ten seconds on startup for "ruby script/console" on a
decent-size app. A tiny "rake.bat -T" just took 4.6 seconds to run.

These days I just use Windows when I need Windows apps; Linux is
substantially faster for too many Ruby things to bother with Windows
for a dev session. Drives are so cheap it's easy to convert a machine
to dual-purpose. And given big enough drives you could dualboot, but
for me that would mean reinstalling Vista. While that's more pleasant
than a root canal, it's still not fun.

I'm running on Vista. rake -T is instantaneous. ruby script/console is
about 4 sec. I think it's really unlikely that Vista could make a
MySQL query run 30 times slower.

///ark

Interesting - what's your Ruby setup? Instant Rails, something else?

Mark Wilden wrote:

I'm running on Vista. rake -T is instantaneous. ruby script/console is
about 4 sec. I think it's really unlikely that Vista could make a
MySQL query run 30 times slower.

///ark

Hi Mark,

The db in question has tens of millions of records & is a couple of
gigabytes. For small & medium sized db's I could not really notice any
difference. But when the db grew complex queries started taking an age.
I was suprised by just how big the difference was.

rgds,
- matt.

Tickex - the search engine for concert, theatre, & sports tickets
http://www.tickex.com

James, my setup is pretty standard. I don't use Instant Rails. I used
the Ruby One-Click Installer, and installed the Rails gem. I installed
MySQL using defaults. I have 4GB memory and a quad core processor
(which may not even matter).

Matt, that's interesting. I just wonder if there were another
difference between the setups than just the OS. It seems to me that if
people could get a 30x speed improvement by switching to Linux, then
all opposition would be swept away.

On the other hand, after running unit tests virtually instantly in
Visual Studio and C#, the startup time for RoR tests is annoying.

///ark

James,

Thanks for your insight. I'm not a hardware guy but I suspect it
isn't to set up a laptop for dual boot... Unfortunately, I do much of
my work while commuting and need to use the laptop. Food for thought.

I'm just learning about NetBeans. I'm using the Bitnami Ruby Stack
and JEdit as an editor. Do you recommend I try NetBeans?

Decker:
Ruby on Windows is significantly slower than on other platforms. Depending on your processor speed, Ruby apps can take an exceptionally long time to start. Anywhere from 10 to 15 seconds is not uncommon on a a 2 year old laptop. Recent computers using dual-core CPUs have managed to get the time up considerably.

I have a P4 2.5 ghz here that takes about 12 seconds to run script/console. I also have a Core2 Duo 2.1ghz that gets it started in about 7 seconds.

If you’re seeing slow startup times, that’s pretty normal. It’s not going to affect you that much when you get started, but it will start g etting frustrating if you want to do test-driven development, as you’ll be running your tests and they take a longer time to run on Windows than on Mac OSX or Linux.

Decker:

I'm a Mac guy mostly, though I spend a lot of time on Linux/Solaris
and some on Windows. It is definitely worth checking out NetBeans,
especially if you like IDEs. The editor, for me, is just OK, I miss a
number of things from TextMate and BBEdit on the Mac side, but it has
some nice things too. The other tools I find are particularly good if
you are starting out and want a GUI...I recommend it to clients...the
debugger, graphic source-code control, wizard on generator, built-in
autotest, etc. are nice.

-chris

Chris,

I installed NetBeans last night and from what I saw it looked pretty
slick. However, it installs a 1.x version of Rails. I've been
running 2.x from Bitnami RubyStack for a few weeks and my next task it
to get NetBeans to either work with the one I've installed or to
upgrade the one it uses? Any thoughts on how to do this?

Thanks for your post

Decker:

By default, netbeans uses JRuby cos it’s bundled. :slight_smile: You tell it what Ruby to use by going to the Tools menu. I think it’s under options or something - I’m on my mac now so that’s from memory. See the Ruby tab in the options.

Hi Decker

My dev environment seems way too slow. As an example, starting script/
console takes over 10 seconds. script/server webrick takes 15
seconds. I know that's crazy because I see fabulous response for Ryan
on RailsCast (which I LOVE btw -- thanks Ryan).

I get the same slow results on my ageing XP laptop running Ruby under
cygwin. script/generate > 20 seconds. Tests were taking about 20-30
seconds to start and RSpec tests were taking 60 seconds to start.
There was some relief when I ran RSpec tests using spec_server.. that
took it down to 2 seconds.

I decided to look into this further last night by installing Xubuntu
on a virtual machine on this same laptop by setting up a Netbeans/
Rails development environment. Guess what, Ruby is much quicker under
Xubuntu in a VMware virtual machine han when running natively under
windows XP.

Tests ran in about 2-4 seconds.

HTH