python philosophical question - strong vs duck typing
Robert Kern
robert.kern at gmail.com
Mon Jan 9 05:45:00 EST 2012
On 1/9/12 5:35 AM, John Nagle wrote:
> Python has some serious problems that preclude optimization.
> Basically, the language is designed to be run by a naive (non-optimizing)
> interpreter, and allows things that are easy
> for such an implementation but very tough to optimize. An
> example is the ability to store into the variables of a module
> from outside it, and even from another thread. Every attempt
> to get rid of the Global Interpreter Lock has hit that problem.
You keep repeating this falsehood about the GIL. You have been repeatedly shown
that this is false[1][2], though I have yet to see you acknowledge it. The GIL
exists to protect Python's internal data structures, mostly the reference counts
on objects. The reason that the attempts to remove the GIL from CPython have not
been accepted is because they cause unacceptable performance losses in the
common unthreaded case. In implementations of Python that do not use reference
counting, there is no GIL. Neither Jython nor IronPython have a GIL, but they
both have the standard Python semantics that let you store variables into
modules from the outside, even from other threads.
[1] http://mail.python.org/pipermail/python-list/2011-February/1265760.html
[2] http://mail.python.org/pipermail/python-list/2011-April/1269056.html
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
More information about the Python-list
mailing list