* Steven D'Aprano:
On Thu, 12 Nov 2009 08:35:23 -0800, Joel Davis wrote:

obviously the GIL is a major reason it's so slow.


http://en.wikipedia.org/wiki/Global_Interpreter_Lock

Uh oh...


No such "obviously" about it.

There have been attempts to remove the GIL, and they lead to CPython becoming *slower*, not faster, for the still common case of single-core processors.

And neither Jython nor IronPython have the GIL. Jython appears to scale slightly better than CPython, but for small data sets, is slower than CPython. IronPython varies greatly in performance, ranging from nearly twice as fast as CPython on some benchmarks to up to 6000 times slower!

http://www.smallshire.org.uk/sufficientlysmall/2009/05/22/ironpython-2-0-and-jython-2-5-performance-compared-to-python-2-5/

http://ironpython-urls.blogspot.com/2009/05/python-jython-and-ironpython.html


Blaming CPython's supposed slowness

Hm, this seems religious.

Of course Python is slow: if you want speed, pay for it by complexity.

It so happens that I think CPython could have been significantly faster, but (1) doing that would amount to creating a new implementation, say, C++Python <g>, and (2) what for, really?, since CPU-intensive things should be offloaded to other language code anyway.


on the GIL is superficially plausible but doesn't stand up to scrutiny. The speed of an implementation depends on many factors, and it also depends on *what you measure* -- it is sheer nonsense to talk about "the" speed of an implementation. Different tasks run at different speeds, and there is no universal benchmark.

This also seems religious. It's like in Norway it became illegal to market lemon soda, since umpteen years ago it's soda with lemon flavoring. This has to do with the *origin* of the citric acid, whether natural or chemist's concoction, no matter that it's the same chemical. So, some people think that it's wrong to talk about interpreted languages, hey, it should be a "language designed for interpretation", or better yet, "dynamic language", or bestest, "language with dynamic flavor". And slow language, oh no, should be "language whose current implementations are perceived as somewhat slow by some (well, all) people", but of course, that's just silly.


Cheers,

- Alf
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to