Alex Rivera | Logout

Why do people say that Ruby is slow?

Asked 2010-03-27T15:40:06.533
193

I like Ruby on Rails and I use it for all my web development projects. A few years ago there was a lot of talk about Rails being a memory hog and about how it didn't scale very well but these suggestions were put to bed by Gregg Pollack here.

Lately though, I've been hearing people saying that Ruby itself is slow.

  • Why is Ruby considered slow?

I do not find Ruby to be slow but then again, I'm just using it to make simple CRUD apps and company blogs. What sort of projects would I need to be doing before I find Ruby becoming slow? Or is this slowness just something that affects all programming languages?

  • What are your options as a Ruby programmer if you want to deal with this "slowness"?

  • Which version of Ruby would best suit an application like Stack Overflow where speed is critical and traffic is intense?

The questions are subjective, and I realise that architectural setup (EC2 vs standalone servers etc) makes a big difference but I'd like to hear what people think about Ruby being slow.

Finally, I can't find much news on Ruby 2.0 - I take it we're a good few years away from that then?

Edit
Report

3 Answers

123

First of all, slower with respect to what? C? Python? Let's get some numbers at the Computer Language Benchmarks Game (2018) / (current):

Why is Ruby considered slow?

Depends on whom you ask. You could be told that:

  • Ruby is an interprete
answered 2010-03-27T15:59:24.490
1

People say that Ruby is slow because they compare Ruby programs to programs written in other languages. Maybe the programs you write don't need to be faster. Maybe for the programs you write Ruby isn't the bottleneck that's slowing things down.

Ruby 2.1 compared to Javascript V8

Ruby 2.1 compared to ordinary Lua

Ruby 2.1 compared to Python 3

answered 2010-03-27T22:26:59.173
0

Performance is almost always about good design and optimized database interactions. Ruby does what most web sites need quite fast, especially more recent versions; and the speed of development and ease of maintenance provides a large payoff in costs and in keeping customers happy. I find JAVA to have slow execution performance for some tasks, and given the difficulty of developing in JAVA, many developers create slow applications regardless of the theoretical speed capability as demonstrated in benchmarks (benchmarks are generally contrived to show a specific and narrow capability). When I need intensive processing that isn't well suited to my database's capabilities, I choose C or Objective-C or some other truly high performance compiled language for those tasks depending on the platform. If I need to create a databased web application, I use RoR or sometimes C# ASP.NET depending on other requirements; because all platforms have strengths and weaknesses. Execution speed of the things your application does is important, but after all, if execution performance of one narrow aspect of a language is all that counts; then I might still be using Assembler language for everything.

answered 2013-05-02T15:56:11.347

Your Answer