Как рассчитать объем памяти, необходимый для функции в веб-приложении Java? - PullRequest
0 голосов
/ 24 октября 2019

Мне нужно рассчитать, сколько памяти требуется для выполнения функции.

Поток выполнения: приложение получает запрос RESTful;во время обработки объекты считываются из базы данных с использованием Hibernate (это будут входные данные);алгоритм обработки создает несколько объектов (наборы, карты, объекты-объекты);результат выполнения сохраняется в базе данных.

Предположим, что известен максимальный объем входных данных (количество объектов).

Каков наилучший способ расчета объема необходимой памяти? Что приходит на ум:

  1. Выполните функцию локально с реалистичным количеством данных и посмотрите цифры от long beforeUsedMem=Runtime.getRuntime().totalMemory()-Runtime.getRuntime().freeMemory();, как это предлагается в этом ответе .
  2. Вычислите «на бумаге», сколько памяти может занять каждый объект (объекты Hibernate будут самыми большими) и умножьте их на предполагаемое количество.
...