This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Mark.Shannon
Recipients Dennis Sweeney, Mark.Shannon, kj
Date 2021-10-06.09:01:18
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1633510878.7.0.0916150871419.issue45367@roundup.psfhosted.org>
In-reply-to
Content
If some misses are caused by mixed int/float operands, it might be worth investigating whether these occur in loops.

Most JIT compilers perform some sort of loop peeling to counter this form of type instability.

E.g.
x = 0
for ...
    x += some_float()

`x` is an int for the first iteration, and a float for the others.


By unpeeling the first iteration, we get type stability in the loop

x = 0
#first iteration
x += some_float()
for ... #Remaining iterations
    x += some_float()  # x is always a float here.
History
Date User Action Args
2021-10-06 09:01:18Mark.Shannonsetrecipients: + Mark.Shannon, Dennis Sweeney, kj
2021-10-06 09:01:18Mark.Shannonsetmessageid: <1633510878.7.0.0916150871419.issue45367@roundup.psfhosted.org>
2021-10-06 09:01:18Mark.Shannonlinkissue45367 messages
2021-10-06 09:01:18Mark.Shannoncreate