Я перебираю набор объектов в цикле for, и для каждого объекта один и тот же график генерируется в одной точке. Я случайно узнал, что генерация графика для первого объекта всегда имеет более длительное время выполнения по сравнению с другими.
Полагаю, это из-за какой-то оптимизации, которая распознается после первой итерации. Проблема в том, что я хотел бы сравнить время выполнения для объектов, которые должны основываться на одинаковых условиях для каждого из них, конечно.
Что это за оптимизация и можно ли ее отключить?
Редактировать: Вот сокращенный пример кода внутри цикла for:
double startTime = System.currentTimeMillis();
Graph g = new Graph();
for (int entry : entries) {
graph.addVertex("v" + entry);
}
System.out.println("runtime: " + (System.currentTimeMillis() - startTime) / 1000.0);
Изменить: Вот измерения для первых нескольких циклов:
runtime: 0.045
runtime: 0.001
runtime: 0.001
runtime: 0.002
runtime: 0.002