пятница, 14 июня 2013 г.

Java: как мы уменьшили потребление памяти в 20 раз

Оригинальное решение, полученное на примере приложения, написанного с использованием XMLBeans для хранения упрощенных структур данных.

Дополнительные затраты "раздули" структуру из 1,3 млн. экземпляров до целых 1,5 ГБ. После нескольких этапов оптимизирования вроде преобразования сперва в коллекции Java Collections, затем в коллекции Trove, удаление избыточных данных и перехода на сжатые обычные указатели на объекты, мы смогли втиснуть те же данные в 73 МБ. 

Полученные уроки:
  • Не позволяйте деталям интеграции пересекать границы системы.
  • Избыточные данные дорого обойдутся. При возможности удаляйте любую избыточность.
  • Примитивы - ваши друзья. Стоит досконально разбираться в инструментах и выучить Trove, если до сих пор этого не сделали.
  • Помните о методах оптимизации, предоставлемых вашей JVM

Комментариев нет:

Отправить комментарий