On 29/03/2015 04:06, Steven D'Aprano wrote:
On Sun, 29 Mar 2015 10:50 am, BartC wrote:
But using X *and* my own brute-force algorithm, the same puzzle took 2 seconds to solve - faster than C!
But, when you tell me that your very own personal interpreted language, which I assume nobody else has worked on, is 40% faster than optimized C, my first reaction is to expect that you've probably made a mistake somewhere. I would have the same reaction if somebody casually dropped into a conversation that they happened to beat Usain Bolt's 100m personal best of 9.58 seconds by almost four seconds. While carrying a 20kg backpack.
As Chris mentioned, when I say 'faster than C', I mean X running my algorithm was faster then C running Marko's algoritim (on Ian's data). This was just an illustration of algorithm being more important than language.
(As it happens, C using gcc was particularly good at this benchmark. Looking only at optimised code, Clang took 4.5 seconds, while a trio of lesser C compilers took from 14 to 22 seconds.
This is why I also showed the unoptimised figure, which indicates what raw native code could do, without taking account of the super-optimisations that gcc is capable of applying.
Because after all such optimisations could also be applied to the Python code, such as unrolling those nested loops in good().
And theoretically, a clever enough C compiler could have solved it in 0 seconds since I'd hard-coded the board values within the source!
See: http://pastebin.com/RZE67TLy ) -- Bartc -- https://mail.python.org/mailman/listinfo/python-list