Я пробую следующий код для проверки производительности. Он полностью привязан к процессору, выполняет множество вычислений над типами double, является однопоточным и не использует кучу:
public class PerfTestSampleJ {
private static final int MEASURE_COUNT = 5;
private static final int ITERATIONS = 100_000_000;
public static void main(String[] args) {
var minTime = Long.MAX_VALUE;
for (int i = 1; i 1e-14)
throw new AssertionError(pi + " (" + (pi - Math.PI) + ")");
}
System.out.printf("Minimum time taken: %8.3f ms%n", minTime / 1e6);
}
private static double calculatePi(int iterations) {
double pi = 0.0;
double numerator = 4.0;
for (int i = 1; i
Подробнее здесь: [url]https://stackoverflow.com/questions/79250946/jre-23-runs-much-faster-than-previous-versions[/url]
Я пробую следующий код для проверки производительности. Он полностью привязан к процессору, выполняет множество вычислений над типами double, является однопоточным и не использует кучу: [code]public class PerfTestSampleJ { private static final int MEASURE_COUNT = 5; private static final int ITERATIONS = 100_000_000;
public static void main(String[] args) { var minTime = Long.MAX_VALUE; for (int i = 1; i 1e-14) throw new AssertionError(pi + " (" + (pi - Math.PI) + ")"); } System.out.printf("Minimum time taken: %8.3f ms%n", minTime / 1e6); }
private static double calculatePi(int iterations) { double pi = 0.0; double numerator = 4.0; for (int i = 1; i