Hi, On Tue, Oct 30, 2012 at 4:19 PM, Sasikanth Eda <sasikanth.ece@gmail.com> wrote:
1. Has PyPy optimized / reduced the GIL limitation ?
Not so far: PyPy has a GIL, similar to CPython. (Note that I'm answering with "CPython" here to make it clearer; "Python" means the language which both CPython and PyPy implement.)
2. If PyPy is also suffering from the same GIL limitations, what made the program run faster than Python
PyPy is faster than CPython in a lot of cases. It has a rather good just-in-time compiler.
3. What are your suggestions for me if I wanted to go for Multi-Thread application design ( in-terms of Python / PyPy )
One of the researchy goals of PyPy is to use STM to make multi-threaded programming easier and still scale to multiple CPUs: http://morepypy.blogspot.ch/2012/08/multicore-programming-in-pypy-and.html . This is still in-development. Note that the speed you'll get is unlikely to be better than using multiple processes, so doing that is the best solution for a few cases. But there are also a few other cases where using multiple processes would be very hard. Moreover, the theory goes that in all remaining intermediate cases, using multiple threads ---not directly but hidden below some interface like thread.atomic--- is actually much easier and cleaner than using multiple processes. A bientôt, Armin.