Мое приложение давно страдает от утечек памяти. Это работа, в основном долгая работа sidekiq.
Сегодня я добавляю метод, и мне интересно, как лучше это сделать, учитывая, что эффективность памяти является приоритетом № 1:
# option 1
def func1(product_id)
product = Product.find(product_id)
# do something with product
end
# option 2
def func1(product)
# do something with product
end
Какой из них лучше? Опция 1 передает только целое число, а метод выполняет активную запись find () для обработки объекта.
Опция 2 получает сам объект, поэтому метод не должен находить () объект.
Кстати, метод работает несколько миллионов раз в день.