Оригинальное решение, полученное на примере приложения,
написанного с использованием XMLBeans для хранения упрощенных структур данных.
Дополнительные затраты "раздули" структуру из 1,3
млн. экземпляров до целых 1,5 ГБ. После нескольких этапов оптимизирования вроде
преобразования сперва в коллекции Java Collections, затем в коллекции Trove,
удаление избыточных данных и перехода на сжатые обычные указатели на объекты,
мы смогли втиснуть те же данные в 73 МБ.
Полученные уроки:
- Не позволяйте деталям интеграции пересекать границы системы.
- Избыточные данные дорого обойдутся. При возможности удаляйте любую избыточность.
- Примитивы - ваши друзья. Стоит досконально разбираться в инструментах и выучить Trove, если до сих пор этого не сделали.
- Помните о методах оптимизации, предоставлемых вашей JVM
Комментариев нет:
Отправить комментарий