Hacker News new | comments | show | ask | jobs | submit login

I'm not sure how using 20 threads tests threading performance, but there's probably some issue that Ruby used to have that I'm not aware of.

It is impressive though, that to beat the given Ruby time on my machine in SBCL, I actually had to add optimize declarations. Of course, I have no idea what kind of machine the published number were from, and I'm too lazy to try and install Ruby 1.9 myself, but it seems that the old 'Ruby use -> slowness' implication no longer holds.

[edit] Hold on, the Ruby 1.8 test, which takes 22 seconds in their figures, takes 4.3 on my machine. So that would mean Ruby 1.9 is like super-sonic ultra fast. At least on this benchmark. Which is mostly testing the speed of the sorting routine which I suppose is written in C. So what are we talking about, anyway? I'll shut up now.

it seems that the old 'Ruby use -> slowness' implication no longer holds.

That's a fallacy in the first place (at least for web apps)... Most web application code spends most of its time waiting for the db to respond, not number-crunching.

That does not mean performance is irrelevant, does it? Heavily used web apps benefit a lot from a fast runtime (it allows you to push the point where you have to split across servers forward quite a bit), and being able to do CPU-intensive stuff in the same environment when you need to instead of having to bust out the C or Java or whatever is very pleasant.

You can do CPU-intensive tasks using a general purpose Python API with SciPy/NumPy. Yes, it's implemented in C.

Actually I've heard of a number of Rails apps that are CPU bound rather than being IO bound, and that's with the database hosted on a separate server.

Those numbers do look a little funny, 22 seconds seems way to high for Ruby 1.8, on my macbook 2.6Ghz it's around 3.2 secs.

Out of curiosity, what were you doing that made your SBCL numbers so high? I've got 1.8.6 (running natively on OSX) clocked at 1.3 seconds and SBCL (linux on VMWare) at 78 ms.

(These times are with the random number generation removed, with them the SBCL time jumps to 90ms and 1.8.6 jumps to 4 seconds).

I was sorting a list, actually. Using an array + some type declarations I got .45 seconds.

from the link in the blog


Wszystkie testy były wykonywane na MacBook Pro Core2 Duo 2.16GHZ, 4GB RAM i systemie Mac OS X 10.5.4 Leopard + zainstalowana Java 1.6.0_05.


those Jruby and jython numbers look pretty funny, tho. Being strictly a MRI and Cpython user, i dunno if Jruby and jython are/could hit both cores.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact