bpo-26110: Document CALL_METHOD_KW#26159
Conversation
|
@pablogsal Can I trouble you for a review too please? Thanks! |
Anytime ;) |
| changes which avoid creating bound method instances. Previously, this | ||
| optimization was applied only to method calls with purely positional | ||
| arguments. | ||
| (Contributed by Ken Jin and Mark Shannon in :issue:`26110`, based on ideas |
There was a problem hiding this comment.
Is the issue correct? In https://bugs.python.org/issue26110 I don't see any PR for this
There was a problem hiding this comment.
Yes, it didn't appear for some reason, there was some recent discussion about other issues having the same problem https://mail.python.org/archives/list/python-committers@python.org/thread/M2Z3WSJ4SGGH2GQ7D5NELAZSD3PECG7Q/ .
Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
Doc/whatsnew/3.11.rst
Outdated
| almost eliminated when no exception is raised. | ||
| (Contributed by Mark Shannon in :issue:`40222`.) | ||
|
|
||
| * Method calls with keywords are now up to 20% faster due to bytecode |
There was a problem hiding this comment.
Do we have a pyperformance run for this? I only found your comment here:
but I don't see the full run with LTO/PGO. This is important as normally we report 20% faster based on the pyperformance run, not for individual microbenchs.
There was a problem hiding this comment.
I ran pyperformance with LTO+PGO and saw no change because pyperformance code barely uses method calls with keywords. That entry is taken from the whats new in python 3.7 https://docs.python.org/3/whatsnew/3.7.html#optimizations and is also the result of a microbench. Maybe I should just remove that line :(?
Recently I've been thinking that pyperformance doesn't really have enough object-oriented benchmarks. Maybe I can look into adding some.
There was a problem hiding this comment.
Maybe take a look at the pyston benchmarks? https://github.com/pyston/python-macrobenchmarks
There was a problem hiding this comment.
That entry is taken from the whats new in python 3.7 https://docs.python.org/3/whatsnew/3.7.html#optimizations and is also the result of a microbench.
Maybe I am missing something, but we did a pyperformance run for that:
https://bugs.python.org/msg282622
Maybe I should just remove that line :(?
No, but surely clarify that a bit better: mention that is on a microbenchmark.
Recently I've been thinking that pyperformance doesn't really have enough object-oriented benchmarks. Maybe I can look into adding some.
That's a good idea. Meke sure to sync also with @vstinner
There was a problem hiding this comment.
That entry is taken from the whats new in python 3.7 https://docs.python.org/3/whatsnew/3.7.html#optimizations and is also the result of a microbench.
Maybe I am missing something, but we did a pyperformance run for that:
Gah, I just realised my message to you was misworded. What I meant was "That entry is taken from the whats new in python 3.7 https://docs.python.org/3/whatsnew/3.7.html#optimizations and the number I provided is the result of a microbench.". Sorry.
|
Thanks @Fidget-Spinner ! |
|
@pablogsal thanks for the reviews and merge :). |
https://bugs.python.org/issue26110