Message293167
| Author |
mjpieters |
| Recipients |
mjpieters |
| Date |
2017年05月06日.19:04:17 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1494097457.83.0.135778883063.issue30293@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
The following expression produces 127MB in constants in `co_consts` due to two 63.5MB integer objects produced when folding:
((200*200 - 2) & ((1 << 500000000) - 1)) + ((200*200 - 2) >> 500000000)
The optimizer already does not store optimized *sequences* of more than 20 elements to avoid making bytecode files too large:
If the new constant is a sequence, only folds when the size
is below a threshold value. That keeps pyc files from
becoming large in the presence of code like: (None,)*1000.
Perhaps the same should be extended to number objects?
Context: https://stackoverflow.com/questions/43823807/why-does-using-arguments-make-this-function-so-much-slower |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2017年05月06日 19:04:17 | mjpieters | set | recipients:
+ mjpieters |
| 2017年05月06日 19:04:17 | mjpieters | set | messageid: <1494097457.83.0.135778883063.issue30293@psf.upfronthosting.co.za> |
| 2017年05月06日 19:04:17 | mjpieters | link | issue30293 messages |
| 2017年05月06日 19:04:17 | mjpieters | create |
|