I started with ctypes because it is the battery included with the Python standard library. My code is very fluid and I'm looking for easy opportunity to optimize it. One example is to find the longest common prefix among two strings. Right now I am comparing it character by character with pure Python. It seems like an ideal low hanging fruit. With ctype I can rewriting a few lines of Python into a few lines of C. All the tools are available and no third party library is needed.
It turned out the performance fail to match pure Python. This function is called million of times in an inner loop. The overhead overwhelm any performance gain with C. Eventually I have found success grouping the data into larger chunk for each API call. This is what I originally planned to do anyway. I am only sharing my experience here that doing fine grained ctype function call has its limitation. I have looked into Pyrex before and I was quite confused by the fusion of C and Python langauage. Perhaps it is time for me to give it a second look. I just heard of Cython now and it also look interesting. I think it is helpful for both project to articulate more clearly what they are, how they achieve the performance gain and to give more guidance on good use cases. On the other hand, perhaps it is just me are confused because I don't know enough of the Python internal. Wai Yip -- http://mail.python.org/mailman/listinfo/python-list