http://benchmarksgame.alioth.debian.org/u32/benchmark.php?te...
So i have to say i am quite suspicious of the chart on the page you linked.
http://benchmarksgame.alioth.debian.org/u32/benchmark.php?te...
So i have to say i am quite suspicious of the chart on the page you linked.
For eg: Here is Which programs are best with those benchmarks removed: http://benchmarksgame.alioth.debian.org/u32/which-programs-a...
This shows Perl higher up the chart with it being 49% better (on average) than Ruby.
Some other things to note:
1. Perl has never been fast with binary trees. But Ruby 1.8 is even worse (I recall it being many times slower than Perl at this). So hats off to the Ruby 1.9 VM guys because they've turned things around and now it's even out pacing Lua on this benchmark! - http://benchmarksgame.alioth.debian.org/u32/performance.php?...
2. Fasta in Ruby maybe twice quicker than Perl however it uses over 100 times more memory! This is be because it's inlining some code (eval) giving it a huge speed bump at expense of a bigger program footprint. If I do a port of this to Perl then this fasta.pl runs 2.6 times faster than alioth's perl version (which now means the Ruby version is about 30% slower than it's direct equivalent Perl version).
3. My make_repeat_fasta idiomatic subroutine is actually a little slower than the one in fasta.pl on alioth. So both my fasta.pl & alioth's fasta.rb programs could be speeded up more :)
4. I may even be able to shave a little bit more off fasta.pl time. Same might be true for spectral norm & binary-tree however the Perl versions aren't showing up on alioth site at moment :( ... IIRC, when I last looked at the perl binary-trees code on alioth a couple of years ago I was able to shave 10% off.
ref: My perl port of fasta.rb on alioth - https://gist.github.com/4675254
What if we are selective with the evidence a different way, what if we take away k-nucleotide and pi-digits and reverse-complement :-)
>> My perl port of fasta.rb <<
re: contribute - Looking on my hard disk I see that I downloaded the bencher/shootout-scm back on 1st Jan 2010. However IIRC the process of contributing code back was a bit unwieldy. If some free tuits come my way then I may relook at it.
So it looks like I had issues logging (back) onto Alioth at that time :(
Anyway resolved it now because I see that draegtun-guest does work for me :)
It's a little convoluted and the contribute notes don't initially match what you see at login but after rummaging around I found the required tracker and have now submitted the faster fasta.pl.
Are you familiar with descriptive statistics? Quartiles? Box plots?
I told you i don't. It looks entirely nonsensical. I asked you for clarification. So far your only response has been to parrot my saying that i don't understand why your data representations are dissonant.
> Are you familiar with descriptive statistics?
Possibly under another name, but i don't know what you mean when you say that.
> Quartiles?
In theory yes, i am unsure how you're applying it here, since we're not talking about binnable quantities.
> Box plots?
Yes.
It would have been better if you had said -- "English is not my primary languages and especially english maths are hard for me to grasp." -- instead of saying "it certainly seems deceptive".
You say you are familiar with box plots, so you should have no difficulty understanding that box plot shows - the Perl and Ruby programs have very similar performance when compared to the fastest programs.
"Visual Presentation of Data by Means of Box Plots"
http://www.lcgceurope.com/lcgceurope/data/articlestandard/lc...
Further, if you show me the actual calculations done, i will understand it perfectly fine. Yet you refuse to do so. I do not understand why, and i hope you can understand how that makes me even more distrustful.
On the graph in the overview page Perl was shown to significantly outperform Ruby in a number of benchmarks, yes, i could see that. Yet the median of Perl was still set higher than the median of Ruby, which could possibly be explained by perl also being outperformed significantly in one benchmark, but which was not supported by the actual direct comparison numbers.
So i ask again: Please show me the actual calculations performed to arrive at the median values shown in the overview graph.
Really? http://news.ycombinator.com/item?id=5141025
>> Please show me the actual calculations performed to arrive at the median values shown in the overview graph <<
http://anonscm.debian.org/viewvc/benchmarksgame/benchmarksga...
The important thing which you did not bother to point here even once is that the comparisons on the overview page are done against the fastest programs of all languages, thus weighting the results by a factor that is simply not present when one language is compared directly against another.
So, alright, the graphs do entirely make sense.
Would you be open to a patch that reworks the language vs. language comparison pages in such a manner as to make this relationship obvious?
Is stated in plain sight - twice - on the overview page.
Here's a link to my fasta.pl on Alioth - http://benchmarksgame.alioth.debian.org/u32/program.php?test...
NB. For posterity here are the bottom five on this benchmarks at this moment in time:
PHP 40.49
Perl 51.96
Python 3 55.45
Ruby 1.9 62.40
Mozart/Oz 74.77
Previously Perl was second bottom with something like 69.3Perl (or OS) was upgraded from 5.14.* to 5.16.2. From cursory glance this gave all the Perl benchmarks a little boost. For eg. My fasta is about 3 secs quicker and the "interesting alternative" fasta dropped below 2.0 barrier (now timed at 1.96).
However on the summary Perl slowed down a few points (here's the new bottom five on u32 single-core benchmark):
Lua 31.09
PHP 40.49
Perl 54.90
Python 3 55.45
Ruby 1.9 62.40
I think the drop is because the Perl pldigits benchmark is now failing. The Math::GMP module can't be found. Pretty sure this wasn't a core module so perhaps a Perl dependency has been removed in the OS (Debian).PS. This maybe a temporary glitch so that dependency maybe restored soon. If not then I may amend pldigits benchmark accordingly.
PPS. I see that Python pldigits is using gmpy and is working fine. This means that GMP is installed (as is gmpy Python library) so it's just the Math::GMP perl module that's missing :(
http://benchmarksgame.alioth.debian.org/u32/which-programs-a...
That is precisely why i am suspicious. I cannot say for a fact that it is deceptive, but it certainly seems deceptive.
On that page Ruby is being shown as 10% faster than Perl. Yet on the direct comparison page things look quite different:
http://benchmarksgame.alioth.debian.org/u32/benchmark.php?te...
On that page, for all benchmarks that can be compared, Perl has used an overall time of 9255 seconds, while Ruby has used an overall time of 10662 seconds. As such Ruby is actually 10% slower than Perl.
Where does this difference come from?
You go too far -- your lack of understanding is simply your lack of understanding ;)
What are you told the table shows?
>> Where does this difference come from? <<
Check the same thing for 2 other language implementations were the arithmetic should be easy. For example, Java median 2.04 and Smalltalk median 21.22 -- the direct comparison shows 11x as the rounded median of the Smalltalk/Java program times.
Seems like your graphs up top in the language versus language comparison need to be reworked to make it clear how bit the difference in reality between x3 and 1/3 is, because right now it is deceptive.
What are you looking at? Perl is shown slower on 3 tasks.
If i calculate the average of the time perl took divided by the time ruby took, i get this:
((226/724)+(5.35/16.8)+(3/9)+(2750/3960)+(1120/1368)+(3236/3837)+(30.5/35.8)+(939/618)+(263/135)+(662/214))/10 = 1.07
Which i understand to mean that perl on average took 7% longer.
-----
However if i turn this around i get:
((724/226)+(16.8/5.35)+(9/3)+(3960/2750)+(1368/1120)+(3837/3236)+(35.8/30.5)+(618/939)+(135/263)+(214/662))/10 = 1.58
Which i interpret to mean that Ruby took, on average, 58% longer.
------
These things contradict and i made some mistake here. Can you clear up what i should've been doing?
The table you don't understand shows the median but you seem to be calculating the arithmetic mean.
Or even better: Try to explain in detail why on the overview page perl is claimed to be slower than Ruby, when in a direct comparison it is not.
Also, in addition, after reading your link, the situation seems even worse. Using the median Perl outperforms Ruby by ~15%, but the main site does not reflect that at all.