bpo-46841: Improve the failure stats for COMPARE_OP#31663
Conversation
There was a problem hiding this comment.
Looks good.
We could also consider packing extended opargs into the top 13 bits of cache->mask when it fits there.
Edit: I suppose it would be difficult to do next_instr++ the correct number of times in ceval. Store how far to jump ahead for that branch as well?
Sorry, something went wrong.
|
@markshannon is already brainstorming ideas for how to tackle the general problem of longer jumps in faster-cpython/ideas#297 and faster-cpython/ideas#301. We should probably wait to see how that pans out first before adding a bunch of new logic to the different |
Sorry, something went wrong.
|
Feel free to add suggestions to faster-cpython/ideas#301. faster-cpython/ideas#297 is more about giving the bytecode compiler freedom to lay out basic blocks. |
Sorry, something went wrong.
With the move to inline caching, jumps are getting a bit longer. This adds new category of
COMPARE_OPfailures for the (increasingly more common) case where aCOMPARE_OPinstruction is followed by anEXTENDED_ARG.New stats for a full
pyperformancerun:Specialization attempts
https://bugs.python.org/issue46841