Я обнаружил, что JasperReports действительно медленный при заполнении отчета из приложения Java. Программа зависает в этой строке:
print = JasperFillManager.fillReport(report, parameters, xmlDataSource);
Обычно он остается там 3 минуты, потребляя до 300 МБ ОЗУ и 50% CPU.
-
report
- это скомпилированный отчет (.jasper), который использует 3 подзаголовка. - Источник данных - довольно большой XML файл (около 100 тыс. строк, 1,5 МБ).
- Аппарат представляет собой двухъядерный 3Ghz с 4 ГБ оперативной памяти.
Итак, как я могу улучшить производительность заполнения отчетов?