Почему размер функции всегда увеличивается при обновлении с использованием Python для профилирования памяти? - PullRequest
0 голосов
/ 30 апреля 2018

Я использую профилировщик памяти 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

...