Si estoy diseñando una prueba de algoritmo de clasificación, ¿puedo hacerlo de esta manera para evitar el calentamiento de JVM?
Alguna pedantería primero. No debe evitar calentamiento de JVM. Tiene que suceder. Lo que está intentando hacer es evitar que el calentamiento de JVM entre distorsione sus resultados de referencia.
Para responder a su pregunta, el enfoque es más o menos correcto, pero es muy difícil predecir cuántas veces debe realizar la prueba en el ciclo inicial. Es probable que dependa del código de prueba, en la versión de JVM y en el parámetro de ajuste de JVM ... y probablemente también de otras cosas.
Lo que normalmente hago es simplemente imprimir las temporizaciones sin procesar, filtrar las iteraciones iniciales de "calentamiento" que parecen tener valores de temporización anómalos "a simple vista", y luego calcular los promedios a mano. Es torpe, pero me da cierta confianza de que he considerado el calentamiento y otras posibles fuentes de anomalías.
¿Todavía está tratando de comparar un elemento de 5.000 elementos, o ha decidido seguir los consejos dados en su pregunta anterior? Y si ha decidido seguir ese consejo, debe aceptar una de las respuestas. – Anon
Gracias Anon, haré eso – Ang