Самый эффективный способ многократного использования функцииPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Самый эффективный способ многократного использования функции

Сообщение Anonymous »

Цель – использовать формулу, для простоты задаваемую следующим образом:
def my_formula(x):
return x + 5

в других функциях таким образом, чтобы не тратить время вычислений на необходимость постоянного обращения к формуле, как это делает Case_2. По сути, я пытаюсь достичь эффективности Case_1 и масштабируемости Case_2.
def Case_1():
for i in range(10000):
y = x + 5

def Case_2():
for i in range(10000):
y = my_formula()

Для меня это проблема из-за размера моего проекта и большого количества итераций, которым подвергаются эти формулы. В конечном счете, было бы лучше, если бы я мог вызвать функцию и оставить ее в памяти текущего случая.
Я пробовал использовать simpy и лямбдифицировать формулу как< /p>
formula = myformula(x)
numeric_formula = sp.lambdify(x, formula)

, надеялся, что это создаст более эффективный способ вызова формулы, но он всегда работал намного медленнее.
Я также пробовал вызывать ее в качестве ввода функции:
def case_3(n, formula=my_formula):
for x in range(n):
y = formula(x)
return 0

Просто для количественной оценки:
Scenario:_____|_Computation_time(s):___
Case_1 0.0035
Case_2 0.0060
Lambdifying 1.2700
Case_3 0.0060


Подробнее здесь: https://stackoverflow.com/questions/790 ... repeatedly
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»