я выполнил следующий расчет:Имеются ли результаты кеширования sympy/mpmath и какие последствия будут иметь последствия для скорости?
from sympy import mpmath as mp
mp.besseljzero(1000, 100)
, которые по понятным причинам потребовалось некоторое время> 10s, если не больше (не раз это).
Последующие звонки были значительно быстрее, что заставило меня подумать, что оно кэширует результаты. Мне было интересно, какие другие функции/caclulations sympy cahces?
Означает ли это, если я хочу, чтобы вычислить mp.besseljzero(n, m)
для п < N и т < М, лучше вычислить mp.besseljzero(N-1, M-1)
, а затем получить доступ к другим результатам?
Заранее спасибо.
Я должен добавить, что я нашел эту информацию на часто задаваемом FAQ. Кажется, что поддерживается какое-то кеширование. Если есть дополнительная документация, вы можете указать мне, что было бы полезно!
https://github.com/sympy/sympy/wiki/Faq
означает ли это, что он кэширует все результаты? Я немного смущен относительно того, что на самом деле получается кэшированным. Кроме того, что касается кэширования sympy vs mpmath в моем примере, какой из двух происходит? – evan54
Нет, кешируются только определенные функции. Я не уверен в mpmath, но для SymPy кешируются только основные функции, которые запускаются многократно. – asmeurer
Для вашего примера вы используете только mpmath, поэтому кэш SymPy не входит в игру. – asmeurer