Я использую профилировщик памяти Python и в верхней части каждой функции я использую @profile
поверх функции для анализа потребления памяти функцией. Но каждый раз, когда я обновляю одну и ту же страницу, размер моей функции всегда Почему это так, я не знаю.
Я попытался использовать сборщик мусора Python, но это не имеет никакого влияния. В качестве примера я вставляю сюда.
Line # Mem usage Increment Line Contents
================================================
27 83.2 MiB 83.2 MiB @login_required
28 @profile
29 def app_user_detail(request, slug=None):
30 83.3 MiB 0.1 MiB university_obj = Universities.objects.using('cms').filter(deleted=0, status=1, verified=1)
31 83.3 MiB 0.0 MiB ids = [4, 5]
32 83.3 MiB 0.0 MiB master_user_types = MasterUserTypes.objects.using("cms").filter(~Q(id__in=ids)).all()
33 83.3 MiB 0.0 MiB gc.isenabled()
34 83.3 MiB 0.0 MiB gc.collect()
35 83.3 MiB 0.0 MiB return render(request, 'templates/news_managment/news_dashboard_detail.html',
36 89.0 MiB 5.7 MiB {'slug': slug, 'university_obj': university_obj, 'master_user_types': master_user_types})
Предположим, у меня сейчас 89.0 Mib для этой функции, но когда я обновлю ее, размер увеличится. Я запускаю проект django на localhost