I was wondering (and maybe i still do) about this GIL "problem". I am relatively new to Python (less than a year) and when i started to think about it i said: "Oh, this IS a problem". But when i dig a little more, i found that "Ah, maybe it isn't". I strongly believe that the best usage of multiple cores processor will be achieved if programming languages are modified to support this on their "hearts". Code blocks that would be identified by the compiler and run in parallel and such things. Laboratories are working on these stuff but i do not expect something in the very-near future.
So, as i mentioned above, there are solutions for that right now ("parallel python" and others) that enabled us with little effort to spawn a new python interpreter, thus allowing the OS to schedule it on a different core and do the job this way relatively cheap. I wouldn't recommend going to IronPython despite the fact that the CLR better utilize MP. The reason for this is that i would NEVER give up the freedom that CPython gives me by exchange "better" usage of the MP and platform lock-in. -- http://mail.python.org/mailman/listinfo/python-list