GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||||||||
GeezerVison is showing github.com — GH-145668: Add FOR_ITER specialization for virtual iterators. Specialize GET_ITER. by markshannon · Pull Request #147967 · python/cpython Conversation
|
|
Doesn't this change the ABI guarantees of |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
|
Sorry, something went wrong.
There was an error while loading. Please reload this page.
…eption handling in genexpr
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
A few comments
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
| _GUARD_ITER_VIRTUAL + | ||
| _PUSH_TAGGED_ZERO; | ||
|
|
||
| op(_GET_ITER_TRAD, (iterable -- iter, index_or_null)) { |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
what does trad mean?
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Traditional
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Do you have benchmark numbers for this? I'm wondering of 3 extra opcodes is worth it. I think I might have a solution for the opcode problem. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
In the noise. But this enables more optimizations, so neutral is good.
The By themselves, the two new
So the specializations follow naturally.
That's good, but not directly relevant to this PR I think. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
🤖 New build scheduled with the buildbot fleet by @Fidget-Spinner for commit a55ac63 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F147967%2Fmerge If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
…pecialize GET_ITER. (pythonGH-147967) * Add FOR_ITER_VIRTUAL to specialize FOR_ITER for virtual iterators * Add GET_ITER_SELF to specialize GET_ITER for iterators (including generators) * Add GET_ITER_VIRTUAL to specialize GET_ITER for iterables as virtual iterators * Add new (internal) _tp_iteritem function slot to PyTypeObject * Put limited RESUME at start of genexpr for free-threading. Fix up exception handling in genexpr
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.