Some time ago I overheard a conversation about performance of Ruby applications on Windows or more precisely it’s lack. I don’t usually believe this kind of conversation until I see something with my own eyes. I saw it today.
I am a Linux enthusiast. I use Linux on my desktop and usually deploy applications on Linux servers. I know that Linux is fast and reliable. I don’t need proof for that. But I thought that Ruby will perform somehow similar on both platforms. Wrong.
I wrote a little application that is pooling a lot of XML content (RSS feeds) from web sites, parses it and extracts a data. It also updates MySQL database with new content.
Running application on Windows took me 24 minutes (something about 2000 web sites). Dual core machine with empty MySQL database and without any intense processes in a background (excluding Windows itself hehe 🙂 .
Then I run it on Linux with same configuration, same network connection, empty database and no intense processes in a background. It took 7 minutes. I know that maybe server that the sites were requested from could respond slower but COME ON. How much slower it could be.
I never trusted Windows when it came to a production environment. Now I don’t trust it even more. Where is the 17 minutes that Linux didn’t need it? Is it MySQL performance on Linux or I/O operations or maybe networking?
I’m looking forward for Ubuntu Hardy to install it as I did some damage to my old installation and I am to lazy to fix it. Developing on Linux was always much faster and more flexible for me. Plus I do get my favourite tool, powerful command line 🙂