Experimental MacRuby Branch Is 3x Faster
An anonymous reader writes "Zen and the Art of Programming published an article about MacRuby's new experimental 0.5 branch (project blog entry here). According to the included benchmarks, Apple's version of Ruby could already, at this early stage of its development, be about three times as fast as the fastest Ruby implementation available elsewhere."
I heard it made a guy in Michigan's head explode! That's why I stay away from the experimental stuff, man.
Why MacRuby Matters (Present & Future)?
Apparently because an experimental incomplete version of Ruby is fast. Colour me unimpressed.
"LLVM supports effective optimization at compile time, link-time (particularly interprocedural), run-time"
Amazing, truly unique ideas. If only someone had thought of doing this 30 years ago... oh wait...
Of course, the results don't exactly show a "3x speedup"... they show between a 0.08x speedup and a 7.8x speedup, with a high variability. Which is really great for such an early build, but it's not an instant panacea for everything.
E pluribus unum
Every time a story is posted about Ruby performance improvements, someone will post something along the lines of "x times faster than super ultra duper slow is still slow". Even if Ruby is 1000 times faster, there will still be people complaining. My guess is that none of these people actually use Ruby in production to be able to tell how much interpreter performance actually matters in the grand scheme of things.
Er, way to troll? If you'd like to do your ridiculous hello world you can stick to:
puts "i like beans"
And it's really unclear what "it" you're referring to. Because Ruby, for me, is a good blend of the things i wanted from Perl and Lisp with a side of Object Orientation. I get all the laziness and conveniences of Perl, and i can do all the crazy stuff i'd want to do with Lisp. So imo, you're way off base.
There are lives at stake here!
I agree with this totally. These days I'm writing exclusively in Ruby and it is "fast enough" (even with 1.8.X). In fact, this speed issue is such a big red herring for me. I hardly ever have any issues with speed. Instead I spend most of my optimization time trying to cut down on memory usage.
For me, even an order of magnitude difference in speed (i.e., 10X) isn't going to mean too much. There are certainly places where I'd like my code to be faster, but they are very, very small places. I can easily code them in C if I have to (C/Ruby bindings are *very* easy to write). But honestly, I've never gotten to the point where a speed improvement is more important than a functionality improvement. Every program is different, of course. So not every problem is suited to Ruby.
Sleep(30); /* used to be 90 */
These days I'm writing exclusively in Ruby and it is "fast enough" (even with 1.8.X).
I suspect that's because your website doesn't receive thousands of dynamic requests per second.
PS: Do you want me to punch you in face? You see, C++ is one of my favorite languages :)
I don't like the feeling of being punched in the face, which is one of the big reasons I don't code in C++ or Java. But if that's your thing, you should keep at it! :)