William Dode': > http://hg.flibuste.net/libre/games/cheval > Like you'll see, i tried to use exactly the same code for each langage.
It's a cute solver. Few more versions of mine: #1, a Psyco version of mine: http://codepad.org/9m5rf7kX #2, unrolled Psyco version: http://codepad.org/gKFLu34M #3, a quick D (D1) version: http://codepad.org/Tk9FL7Xk Timings (no printing), seconds, best of 3: #1: 4.79 #2: 3.67 #3: 1.10 Your Psyco version: 13.37 Your C version, compiled with GCC 4.3.2, -s -O3 -fomit-frame-pointer: 3.79 I have timed the whole running time of the programs, with an external timer, so my timings include the start of the PythonVM and the final cleanup of the GC. Please, feel free to time my code again, so we can compare with your other timings (Java, etc) better. I have used Psyco 1.6 final and Python 2.6.2 on a Core2 CPU at 2 GHz. To compile the D1 code you can use the free DMD compiler for D1, I have used version 1.042, www.digitalmars.com/d/download.html ). In such benchmarks it's often better to start from the fastest low level code (written in an imperative language as C/D/C++, or a version in a functional language like Clean or OCaML) and then use it to create higher level versions (in Python, etc). This offers you a baseline timing, and usually the small differences of the higher level code compared to the original C/Clean code don't invalidate the test. I have changed only small things in the program, as you can see the Psyco program #2 is faster than your C code :-) If you learn how to use it well, Psyco1.6 can often lead to very good performance. But lot of people don't know how to use Psyco well (I too am ignorant: I don't know how to profile Python programs yet). Bye, bearophile -- http://mail.python.org/mailman/listinfo/python-list