On 19/05/10 10:35, David Beazley wrote:
Antoine,
This is a pretty good summary that mirrors my thoughts on the GIL
matter as well. In the big picture, I do think it's desirable for
Python to address the multicore performance issue--namely to not have
the performance needlessly thrashed in that environment. The
original new GIL addressed this.
The I/O convoy effect problem is more subtle. Personally, I think
it's an issue that at least merits further study because trying to
overlap I/O with computation is a known programming technique that
might be useful for people using Python to do message passing,
distributed computation, etc. As an example, the multiprocessing
module uses threads as part of its queue implementation. Is it
impacted by convoying? I honestly don't know. I agree that getting
some more real-world experience would be useful.
My takeaway from this discussion is that:
A. we should leave the new GIL in 3.2 in its current (relatively) simple
form for now, keeping the various patches in issue 7946 in our back
pocket if someone finds real world examples of the convoying effect
discussed there. The idea here being that we shouldn't complicate the
implementation without some solid evidence that doing so is actually
necessary for real world workloads.
B. some more thought should be given to incorporating the new GIL into
2.7. However, this requires two things:
- an update to the patch in 7753 to either retain the old GIL for
platforms not supported by the new GIL or else to make the new GIL a
configure option
- Benjamin accepting that patch (as it would likely mean adding
another beta release to the cycle)
In the absence of an updated version of the 7753 patch, backporting the
new GIL to 2.7 isn't really a serious option.
Regards,
Nick.
--
Nick Coghlan | ncogh...@gmail.com | Brisbane, Australia
---------------------------------------------------------------
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com