From: Robert Klemme Date: 2006-05-23T16:10:55+09:00 Subject: Re: Zed and Luis drop the bomb on Ruby's poor performance 2006/5/22, ara.t.howard@noaa.gov : > On Tue, 23 May 2006, James Britt wrote: > > > ara.t.howard@noaa.gov wrote: > > > >> ... you make good points - but let me just throw in my 2 cts: > >> > >> virtual machines are stupid. java is slow. c++ is slow. python is slow. > >> ruby is slow. so what. if you want fast you need c or fortan or > >> assembler. > > > > > > Ara, do you not see value in a Ruby VM, or is just that speed is not, in > > itself, a justification for a VM? > > i'm saying that gcc kills any vm both on speed and portability, including > windows, and has decades of hard work put in. I wouldn't be so sure of that. I work with Java for several years now and we do have performance critical parts in our application. First, I doubt that a C++ version will show *significant* performance improvements if at all (because there's a lot IO going on but also because a JVM is neither slow nor dumb). Second, with a JVM you get a lot of smartness with regard to memory handling etc., runtime optimization and instrumentation. Current JVMs' instrumentation interfaces give you a lot of options in analyzing runtime behavior of your application. Personally I prefer Java over C++ because you get a lot things for free (thread handling, memory management) that you have to use non standard libs in C++ for or have to do it on your own. Plus, you still get a relatively clean OO programming model. From what I hear from my colleagues the portability of C++ apps is an issue in practice as soon as you do not limit yourself to Unixes. > > (The speed-related advantage to a VM is that it does not require one to know > > C, etc., or have a compiler for all target platforms. Maybe not as fast as > > tight compiled C, but also not as much trouble. It's a trade.) > > hmmm. i think sun's experience with the java vm shows otherwise - remember > when you couldn't even 'stop' threads! i think making a fast, protable, vm is > a lions job. however, i'd be quite happy to be wrong, it just seems > un-likely. consider how long has parrot been 'almost', for example... Again, if you look at and use modern JVM's from Sun you'll see that it's quite fast and stable. I know it's a lion's job but Sun and others have invested serious amount of work into this. If you want to get an impression of this I can dig up some links on JVM internals that will show you how smart and complex those beasts have become. I'd certainly love to see Ruby use a VM with that much power. (And yes, I don't have performance issues with Ruby, just to state it. :-)) Kind regards robert -- Have a look: http://www.flickr.com/photos/fussel-foto/