This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author dino.viehland
Recipients Mark.Shannon, brandtbucher, carljm, dino.viehland, gvanrossum, itamaro, v2m
Date 2022-03-17.17:27:01
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1647538021.38.0.610917547305.issue46965@roundup.psfhosted.org>
In-reply-to
Content
Doh, sorry about that link, this one goes to a specific commit: https://github.com/facebookincubator/cinder/blob/6863212ada4b569c15cd95c4e7a838f254c8ccfb/Python/ceval.c#L6642

I do think a new opcode is a good way to go, and that could just be emitted by the compiler when it recognizes the pattern.  I think we mainly avoided that because we had some issues around performance testing when we updated the byte code version and the peek was negligible, but with improved call performance in 3.11 that may not be the case anymore.

It's probably possible to keep most of gather in Python if necessary, there'd still need to be a C wrapper which could flow the wrapper in and the wait handle creation would need to be possible from Python (which slightly scares me).  There's probably also a perf win from the C implementation - I'll see if @v2m has any data on that.
History
Date User Action Args
2022-03-17 17:27:01dino.viehlandsetrecipients: + dino.viehland, gvanrossum, carljm, Mark.Shannon, v2m, brandtbucher, itamaro
2022-03-17 17:27:01dino.viehlandsetmessageid: <1647538021.38.0.610917547305.issue46965@roundup.psfhosted.org>
2022-03-17 17:27:01dino.viehlandlinkissue46965 messages
2022-03-17 17:27:01dino.viehlandcreate