On 7/22/20 6:42 AM, Inada Naoki wrote:
On Wed, Jul 22, 2020 at 6:12 PM Antoine Pitrou <solipsis@pitrou.net <mailto:solipsis@pitrou.net>> wrote:
But if we merge two equal code blocks, we can not produce precise line numbers, can we? Is this inconsistent microoptimization that real optimization harder? This optimization must be prohibited in future Python?
All attempts to improve Python performance by compile-time bytecode optimizations have more or less failed (the latter was Victor's, AFAIR). Is there still interest in pursuing that avenue?
Regards
Antoine.
I don't think all attempts are failed. Note that current CPython includes some optimization already. If they are all failed, we must remove them to make compiler simple.
And I think there are some potential optimization if we can limit some debugging/introspecting features, like some C variables are "optimzed away" in gdb when we use -O option.
We seem to like following the C model when it comes to implementing optimizations, and then skip the part where C developers can disable all optimizations when reasoning about code is more important than speed. I am fine with any optimizations at all, as long as there is a simple and supported way to ask that they be disabled. --Ned.