Estoy prácticamente comprobando cuánto tiempo toma por recolección (s) de inserción con elementos 'N',
Ahora estoy atascado en el control de tiempo total empleado por ArrayList en el proceso de inserción.
Timestamp startTimeStamp = new Timestamp(System.currentTimeMillis());
System.out.println("Start Insertion :: "+startTimeStamp);
List<Integer> intList = new ArrayList<>();
for (int i = 0; i <= 100000000; i++) {
intList.add(i);
}
Timestamp endTimeStamp = new Timestamp(System.currentTimeMillis());
System.out.println("End insertion :: "+endTimeStamp);
// Total time taken
// TODO
Salida: Inicio Inserción :: 03/19/2020 16: 47: 27.395 extremo de inserción :: 19/03/2020 16: 48: 11.963
La manera simple, la vieja escuela sería utilizar el getTime()
método en cada Timestamp
y restar los resultados, que le da el número de milisegundos transcurridos entre los dos:
long millisElapsed = endTimeStamp.getTime() - startTimeStamp.getTime();
Utilización de las API más modernos, sin embargo, es probable que convertir cada marca de tiempo a una Instant
, y calcular el Duration
delimitado por las que:
Duration elapsedDuration =
Duration.between(startTimeStamp.toInstant(), endTimeStamp.toInstant());
Una Duration
tiene mucha más estructura y el apoyo de una primitiva long
, pero quizás es más de lo necesario.