Есть задача - распарсить кучу объектов, чуть больше 200к и добавить их в лист. Вот лог добавления элементов
[2021-10-04 10:58:05,213]-[export-1] INFO - new object process: 32060
[2021-10-04 10:58:05,418]-[export-1] INFO - new object process: 32061
[2021-10-04 10:58:05,418]-[export-1] INFO - new object process: 32062
[2021-10-04 10:58:05,418]-[export-1] INFO - new object process: 32063
[2021-10-04 10:58:05,418]-[export-1] INFO - new object process: 32064
[2021-10-04 10:58:05,418]-[export-1] INFO - new object process: 32065
[2021-10-04 10:58:05,418]-[export-1] INFO - new object process: 32066
[2021-10-04 10:58:05,418]-[export-1] INFO - new object process: 32067
[2021-10-04 10:58:05,418]-[export-1] INFO - new object process: 32068
[2021-10-04 10:58:05,418]-[export-1] INFO - new object process: 32069
[2021-10-04 10:58:05,418]-[export-1] INFO - new object process: 32070
[2021-10-04 10:58:05,622]-[export-1] INFO - new object process: 32071
Если обратить внимание на время добавления объектов, то видно что они добавляются партиями по 10 штук буквально за 1-2 тысячные секунды, но при этом перерыв после добавления 10 записей составляет 0.2-0.5 секунд. Изначально я думал что это из-за стандартной емкости листа в 10 элементов. Так что лист проинициализирован сразу на 200000 емкости.
List<exportObject> objects = new ArrayList<>(200000);
int i = 0;
while (resultSet.next()) {
log.info("new object process: {}", ++i);
Integer lvl = resultSet.getInt("lvl");
String objectId = resultSet.getString("object_id");
int orderNumber = resultSet.getInt("order_number");
objects.add(new exportObject(lvl, objectId, orderNumber));
}
В чем причина этой задержки между каждыми 10 элементами?