Message215409
The following Python runs unnecessarily slowly: import fractions fractions.Fraction(6249919, 6250000) ** 89993 The problem here is that Fraction.__pow__ constructs a new Fraction() to return, and Fraction.__new__ tries to gcd to normalize the numerator/denominator. The gcd is very, very slow, and more to the point, unnecessary; raising a normalized fraction to an integer power will always yield another normalized fraction. fractions.Fraction.__pow__ should use this trick to make the code snippet above fast. | |
| Date | User | Action | Args | | 2014-04-02 23:52:30 | Orborde | set | recipients: + Orborde | | 2014-04-02 23:52:30 | Orborde | set | messageid: <1396482750.35.0.873465877702.issue21136@psf.upfronthosting.co.za> | | 2014-04-02 23:52:30 | Orborde | link | issue21136 messages | | 2014-04-02 23:52:29 | Orborde | create | | |