Charles Nutter wrote:
> On Tue, Jan 5, 2010 at 10:32 AM, Marnen Laibow-Koser <marnen / marnen.org> 
> wrote:
>> But my point was a bit different. Python and Ruby are basically similar
>> languages, and what annoys me is that there seems not to have been the
>> will in the Ruby community to steal some speed tricks from Python. (I'd
>> be working on this if I knew anything practical about language
>> implementation, but I don't.)
> 
> Unfortunately, the Python community seems to turn to "write it in C" a
> lot more often than the Ruby community has, so the #1 performance
> trick for Python is to not write in Python. That's obviously the wrong
> direction for us to go...I don't think anyone here would prefer to
> write C over Ruby (or Java, or C++, or C#) when Ruby is the right tool
> for the job...

Devil's advocate: *is* Ruby the right tool the job for thoses cases? 
Obviously, I'd rather write in Ruby than in C* or Java, but in a case 
where the use of Ruby leads to performance problems, Ruby is probably 
ipso facto not the right tool for the job.

> 
> And I'll also mention the truth of performance we've discovered
> repeatedly in JRuby: if you don't have fast core classes, you don't
> have a fast Ruby implementation. 99% of the performance problems we've
> investigated over the years could be traced back to core class
> implementations, which in most implementations are already written in
> a "fast" language like C or Java (Rubinius has a mix of C++ and Ruby
> for most core classes, with emphasis on Ruby). So a large number of
> poor-performing systems in Ruby can be directly attributed to misuse
> or slow implementation of core methods. And that's a much harder and
> extensive challenge to meet.

I can well believe that, though I had understood that some of Python's 
speed boost came from bytecode compilation as well.

> 
> - Charlie

Best,
--
Marnen Laibow-Koser
http://www.marnen.org
marnen / marnen.org
-- 
Posted via http://www.ruby-forum.com/.