Tengo una ArrayList de 50M, me gustaría medir el tiempo que se tarda en almacenar tantos objetos en ella. Parece que todos los modos JMH están basados en el tiempo, realmente no podemos controlar la cantidad de ejecuciones de código en @Benchmark. Por ejemplo, ¿cómo puedo asegurarme de que el siguiente código se ejecute exactamente 50 millones de veces por bifurcación?
@Benchmark @BenchmarkMode(Mode.SampleTime) @OutputTimeUnit(TimeUnit.NANOSECONDS) @Fork(5) public void run(BenchmarkState state) { try { state.queue.add(System.nanoTime()); } catch (Exception e) { e.printStackTrace(); } }