Переменное время создания XSSFWorkbook с использованием Apache POI - PullRequest
0 голосов
/ 26 сентября 2019

Я изучаю расхождения во времени, которое требуется моей системе для создания отчета Excel с использованием Apache POI (Java-код в контейнере Tomcat)

У меня есть следующий код:

displayTimeElapsed("Stage 5", startTime);
FileInputStream inputStream = new FileInputStream(new File(template));
displayTimeElapsed("Stage 6", startTime);
Workbook wb = new XSSFWorkbook(inputStream); // XSSF for .xlsm
displayTimeElapsed("Stage 7", startTime);

В моем файле журнала первый первый раз, когда я запускаю код (после перезапуска контейнера Tomcat), я получаю

ELAPSED:0.024341711 seconds Stage 5
ELAPSED:0.024636651 seconds Stage 6
GZIP supported, compressing.
writing...
GZIP supported, compressing.
writing...
GZIP supported, compressing.
writing...
GZIP supported, compressing.
writing...
ELAPSED:4.095885162 seconds Stage 7

второй время, которое я запускаюкод, я получаю

ELAPSED:0.010578998 seconds Stage 5
ELAPSED:0.010910046 seconds Stage 6
ELAPSED:0.370412929 seconds Stage 7

Есть идеи, почему второй раз намного быстрее?(и как я мог заставить систему всегда создавать отчет с большей скоростью)

...