| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
Benchmarks and stats: https://github.com/faster-cpython/benchmarking-public/tree/main/results/bm-20240116-3.13.0a2%2B-92a3b61-PYTHON_UOPS |
Sorry, something went wrong.
|
Sorry, didn't get to a proper review of this today. I've been trying (and failing) to merge the JIT branch into this one without crashing. Maybe we can chat "in person" later? |
Sorry, something went wrong.
|
Okay, I was able to get it working-ish... but it's not pretty. We can go over it when we meet. |
Sorry, something went wrong.
Sorry, something went wrong.
There was a problem hiding this comment.
Here's a first, partial pass. I've tried to focus on things that confused me. I haven't fully reviewed optimizer.c yet, nor the _COLD_EXIT uop definition, so I'll focus on those when I find some time.
Maybe it would be useful to add TODO comments indicating things you're planning to tackle in the near future (subsequent PRs)? Like the counters.
Sorry, something went wrong.
I'd prefer to save that for another PR. Maybe the one that removes the CounterExecutor. |
Sorry, something went wrong.
|
FTR, the thresholds are likely to get completely changed soon. We probably want to change the fixed thresholds to some sort of adaptive thresholds, and consider the T1 and T2 thresholds together so that specialization works correctly. |
Sorry, something went wrong.
|
If you look at GitHub there’s still a missing cast somewhere. |
Sorry, something went wrong.
There was a problem hiding this comment.
Didn't look too closely at the cases generator or optimizer (I'm assuming there are other eyes on that).
Sorry, something went wrong.
|
When you're done making the requested changes, leave the comment: I have made the requested changes; please review again. |
Sorry, something went wrong.
|
I don't think there is a new bug here, but this PR exposes it. #115727 |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Only works for boolean guards, not type guards, for now. And _EXIT_TRACE now.
Needs to be carefully documented, there's some subtlety here.
Exits are implemented as an array of records attached to the executors, and a fixed set of cold exit executors.
We can shrink the _PyExitData further, by moving the counters into a global table, but that's for another PR.
See faster-cpython/ideas#644 for a rough sketch of the design.