Ruby is faster than Python, PHP, and Perl
unlimitednovelty.com
Ruby is faster than Python, PHP, and Perl
1–10 of 16 posts
Re: Ruby is faster than Python, PHP, and Perl
#2I mean,seriously, if speed is what you want, you'd write it in C. These days, with virtually unlimited CPU, we choose our languages based on suitability for the task, readability and community support (at least I do).
Other than assembler for games, I have never chosen a language based on speed of execution. Anyone else?
Can't we also just compile Ruby (or PHP or Python) to C and then let the C compiler optimize it these days? I think we can.
Additionally, the fact that Javascript kicks the crap out of the vast majority of languages is surprising to me.
Re: Ruby is faster than Python, PHP, and Perl
#3Re: Ruby is faster than Python, PHP, and Perl
#4Caching and JIT compilers to the rescue!
Re: Ruby is faster than Python, PHP, and Perl
#5Does this really matter? I mean,seriously, if speed is what you want, you'd write it in C. These days, with virtually unlimited CPU, we choose our languages based on suitability for the task, readability and community support (at least I do). Other than assembler for games, I have never chosen a language based on speed of execution. Anyone else? Can't we also just compile Ruby (or PHP or Python) to C and then let the…
I think this is just leftover annoyances from pre 1.9 mri perfomance is all.
As to compiling ruby to c, maybe, as long as its not eval()'ing ruby code. But rubinius+llvm+its jit would be the closest to what you're talking about. That or jruby too.
Re: Ruby is faster than Python, PHP, and Perl
#6Re: Ruby is faster than Python, PHP, and Perl
#7Does this really matter? I mean,seriously, if speed is what you want, you'd write it in C. These days, with virtually unlimited CPU, we choose our languages based on suitability for the task, readability and community support (at least I do). Other than assembler for games, I have never chosen a language based on speed of execution. Anyone else? Can't we also just compile Ruby (or PHP or Python) to C and then let the…
I once moved a major processing step from the database to C++. Execution time went from an estimated 1 week to a measured 5 minutes.
Why was the difference that big?
The fastest path to get a piece of data in the database is to do a binary search on an index that tells you what row in the table has your data, and what page of memory it is in. You then go to that page in memory, locate the row, parse it, and pull out the information of interest. All of this is controlled by instructions in some sort of microcode.
The equivalent data path is C++ was, "follow a pointer". Furthermore the C++ representation of the data was so much more compact that I was frequently managing to stay inside of CPU caches, versus the database approach where I was fighting to stay within RAM limitations.
Sometimes performance really, really does matter. (This is a rare circumstance.)
As for JavaScript, the reason that it beats everything else is that there is serious corporate muscle (eg Google and Apple) behind optimizing it as much as possible.
Re: Ruby is faster than Python, PHP, and Perl
#8Re: Ruby is faster than Python, PHP, and Perl
#9Does this really matter? I mean,seriously, if speed is what you want, you'd write it in C. These days, with virtually unlimited CPU, we choose our languages based on suitability for the task, readability and community support (at least I do). Other than assembler for games, I have never chosen a language based on speed of execution. Anyone else? Can't we also just compile Ruby (or PHP or Python) to C and then let the…
Re: Ruby is faster than Python, PHP, and Perl
#10Does this really matter? I mean,seriously, if speed is what you want, you'd write it in C. These days, with virtually unlimited CPU, we choose our languages based on suitability for the task, readability and community support (at least I do). Other than assembler for games, I have never chosen a language based on speed of execution. Anyone else? Can't we also just compile Ruby (or PHP or Python) to C and then let the…