Pull to refresh

Comments 4

Кстати в моем случае одинаковы измерения:
python -m timeit 'pow(3,89)'
100000000 loops, best of 3: 0.0164 usec per loop

python -m timeit '3**89'
100000000 loops, best of 3: 0.0164 usec per loop
Раз это свёртка, значит уже ранее выполнялось. Ан нет, действительно все до 64 как будто уже предвычислены. До dis.dis('4**42') свертка, а потом уже нет. 5**, 6**,7** как и 4, до dis.dis('8**32').
P.S. Если я правильно понял, тут отвечают в чем разница
stackoverflow.com/questions/55944926/what-are-the-specific-rules-for-constant-folding

Кстати, вот буквально пару дней назад написал небольшую статейку для начинающих об анализе и преобразовании абстрактных синтаксических деревьев в Python. Думал, какой бы пример реализовать, написал в итоге генерацию LaTeX, но на самом деле достаточно несложно сделать декоратор, который бы находил в функции выражения и предвычислял их.

Прикольная тема, так можно встраивать исполняемые формулы в латех.
Sign up to leave a comment.