From 76e6d9e613e5a56e5ad309a61e70fcb8efe45773 Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 17 May 2019 15:53:53 +0200 Subject: [PATCH] performance tests: adjust CPU timings to JBR 11 GitOrigin-RevId: 433d033413da660da809b1e2c0af1f7468f85964 --- .../src/com/intellij/testFramework/Timings.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/platform/testFramework/src/com/intellij/testFramework/Timings.java b/platform/testFramework/src/com/intellij/testFramework/Timings.java index ed605d044a33..2c6e71b7cda2 100644 --- a/platform/testFramework/src/com/intellij/testFramework/Timings.java +++ b/platform/testFramework/src/com/intellij/testFramework/Timings.java @@ -16,6 +16,7 @@ package com.intellij.testFramework; import com.intellij.concurrency.JobSchedulerImpl; +import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.io.FileUtil; import java.io.*; @@ -38,7 +39,13 @@ public class Timings { public static final long REFERENCE_IO_TIMING = 100; static { - CPU_TIMING = CpuTimings.calcStableCpuTiming(); + long cpuTiming = CpuTimings.calcStableCpuTiming(); + if (SystemInfo.isJavaVersionAtLeast(11, 0, 0)) { + // on JBR 11, the code for CPU timings executes much faster, while most tests take roughly the same time + // so we correct for the difference until we have a more robust timing calculation + cpuTiming = cpuTiming * 54 / 31; + } + CPU_TIMING = cpuTiming; long start = System.nanoTime(); for (int i = 0; i < IO_PROBES; i++) {