in reply to Re^2: Best method to diff very large array efficiently
in thread Best method to diff very large array efficiently
I wouldn't have predicted such a dramatic performance disparity across Perl versions. Have updated my benchmarking post with "(Perl v5.14.2 64-bit)" - which I now think should always be included in benchmarks. Greatly appreciate your informative reply!
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^4: Best method to diff very large array efficiently
by LanX (Saint) on Nov 26, 2013 at 18:53 UTC | |
3 differences: Obviously vec scales badly the sparser the distribution of values become... IMO not very surprising.
updatefound bug in benchmark, will correct later. vec still among slowest...
updateThanks to BrowserUk for vividly commenting twice that the benchmark is broken, after I already mentioned that the benchmark is buggy.
Cheers Rolf ( addicted to the Perl Programming Language) | [reply] [d/l] [select] |
by LanX (Saint) on Nov 27, 2013 at 01:21 UTC | |
as promised: Integrity of the results are tested in a way that excludes possible sideeffects of benchmark-routines. Benchmarks are run with different datasets with shrinking densities ("vec"-approach breaks >1e10) Result: "vec" doesn't scale well for larger values... code: Read more... (3 kB)
Cheers Rolf ( addicted to the Perl Programming Language) | [reply] [d/l] [select] |
by BrowserUk (Patriarch) on Nov 26, 2013 at 20:00 UTC | |
I avoided allocating useless arrays for the result Your benchmark is completely unrealistic, chalk & cheese comparison, and thus totally broken. Benchmark code that doesn't actually produce the required result is broken. And broken, is just broken; of no value at all. Obviously vec scales badly the sparser the distribution of values become... Think again. With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] [d/l] |
by BrowserUk (Patriarch) on Nov 26, 2013 at 20:34 UTC | |
This just gets funnier and funnier. These are the results from kenosis benchmark:
And these from your benchmark:
Forget the order of the results, note that all your results are something like 2000 times faster despite that you're using pretty much the same sized arrays as kenosis. Do you have some magic touch that makes computers work so much harder for you? Oh look and what your complicated way of building a coderefhash produces:
Like I said. Broken is just broken. With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] [d/l] [select] |
Re^4: Best method to diff very large array efficiently
by BrowserUk (Patriarch) on Nov 26, 2013 at 19:49 UTC | |
I wouldn't have predicted such a dramatic performance disparity across Perl versions. It took me by surprise also. I've done, and posted, this hashes versus vec benchmark many times over the years, yours was the first challenge to what I took to be simple fact. Its yet another plank in my rapidly growing conclusion that 5.10.1 was 'peak Perl'. Have updated my benchmarking post with "(Perl v5.14.2 64-bit)" - which I now think should always be included in benchmarks. I wholeheartedly concur and will endeavour to do the same in future. Greatly appreciate your informative reply! We both learned something. That's win-win. You can't ask for more :) With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] |