Removed some duplicates of TimeoutUtil.runAndGetExecutionTime

This commit is contained in:
Alexandr Evstigneev
2019-01-31 09:56:06 +03:00
parent 26127a102b
commit cde7d6a7ff
4 changed files with 11 additions and 29 deletions
@@ -20,6 +20,7 @@ import com.intellij.openapi.util.Ref;
import com.intellij.psi.autodetect.AbstractIndentAutoDetectionTest;
import com.intellij.testFramework.PlatformTestUtil;
import com.intellij.testFramework.TeamCityLogger;
import com.intellij.util.TimeoutUtil;
import org.jetbrains.annotations.NotNull;
import org.junit.Assert;
@@ -41,9 +42,9 @@ public class JavaAutoDetectIndentPerformanceTest extends AbstractIndentAutoDetec
public void testBigColdFile() {
Ref<IndentOptions> ref = Ref.create();
long fileLoadTime = trackTime(() -> configureByFile(getFileNameWithExtension()));
long fileLoadTime = TimeoutUtil.runAndGetExecutionTime(() -> configureByFile(getFileNameWithExtension()));
long detectingTime = trackTime(() -> ref.set(detectIndentOptions()));
long detectingTime = TimeoutUtil.runAndGetExecutionTime(() -> ref.set(detectIndentOptions()));
double ratio = (double)detectingTime / fileLoadTime;
if (ratio > 0.3) {
TeamCityLogger.error("Detecting indent have taken too much time proportionally to file read time " + ratio);
@@ -68,14 +69,7 @@ public class JavaAutoDetectIndentPerformanceTest extends AbstractIndentAutoDetec
public void testBigOneLineFile() {
configureByFile("oneLine.json");
long time = trackTime(AbstractIndentAutoDetectionTest::detectIndentOptions);
long time = TimeoutUtil.runAndGetExecutionTime(AbstractIndentAutoDetectionTest::detectIndentOptions);
assertTrue(time < 40);
}
private static long trackTime(Runnable runnable) {
long startTime = System.currentTimeMillis();
runnable.run();
return System.currentTimeMillis() - startTime;
}
}
@@ -149,7 +149,7 @@ public class StartupManagerImpl extends StartupManagerEx {
}
private void logActivityDuration(AtomicBoolean uiFreezeWarned, StartupActivity extension) {
long duration = runAndMeasure(extension);
long duration = TimeoutUtil.runAndGetExecutionTime(() -> extension.runActivity(myProject));
Application app = ApplicationManager.getApplication();
if (duration > 100 && !app.isUnitTestMode()) {
@@ -161,12 +161,6 @@ public class StartupManagerImpl extends StartupManagerEx {
}
}
private long runAndMeasure(StartupActivity extension) {
long start = System.currentTimeMillis();
extension.runActivity(myProject);
return System.currentTimeMillis() - start;
}
// queue each activity in smart mode separately so that if one of them starts dumb mode, the next ones just wait for it to finish
private void queueSmartModeActivity(final Runnable activity) {
DumbService.getInstance(myProject).runWhenSmart(() -> runActivity(activity));
@@ -15,6 +15,8 @@
*/
package com.intellij.testFramework;
import com.intellij.util.TimeoutUtil;
import javax.management.Attribute;
import javax.management.AttributeList;
import javax.management.MBeanServer;
@@ -36,7 +38,7 @@ class CpuTimings {
StringBuilder log = new StringBuilder();
for (int i = 0;; i++) {
long time = calcCpuTiming(CpuTimings::addBigIntegers);
long time = TimeoutUtil.runAndGetExecutionTime(CpuTimings::addBigIntegers);
if (time < minTime) {
//log.append("Iteration " + i + ", time " + time + "\n");
minTime = time;
@@ -49,12 +51,6 @@ class CpuTimings {
}
}
private static long calcCpuTiming(Runnable oneIteration) {
long start = System.currentTimeMillis();
oneIteration.run();
return System.currentTimeMillis() - start;
}
private static void addBigIntegers() {
BigInteger k = new BigInteger("1");
for (int i = 0; i < 1000000; i++) {
@@ -8,6 +8,7 @@ import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiDocumentManager;
import com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl;
import com.intellij.util.ArrayUtil;
import com.intellij.util.TimeoutUtil;
import org.intellij.lang.xpath.TestBase;
import org.intellij.lang.xpath.xslt.impl.XsltStuffProvider;
@@ -129,11 +130,8 @@ public class XsltHighlightingTest extends TestBase {
final Project project = myFixture.getProject();
PsiDocumentManager.getInstance(project).commitAllDocuments();
return ReadAction.compute(() -> {
final long l = System.currentTimeMillis();
CodeInsightTestFixtureImpl.instantiateAndRun(myFixture.getFile(), myFixture.getEditor(), ArrayUtil.EMPTY_INT_ARRAY, false);
return System.currentTimeMillis() - l;
});
return TimeoutUtil.runAndGetExecutionTime(() -> ReadAction.run(
() -> CodeInsightTestFixtureImpl.instantiateAndRun(myFixture.getFile(), myFixture.getEditor(), ArrayUtil.EMPTY_INT_ARRAY, false)));
}
private void doXsltHighlighting() {