Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAxel Richard2015-01-20 12:01:20 -0500
committerAxel Richard2015-01-20 12:04:55 -0500
commit4914dc7994243cf26780180e9ecba9c83570ea76 (patch)
tree15ceb842409587294837c1533eef50c017c7607d /performance
parente15a381dbb924bf89731c0f81977f591d4deb492 (diff)
downloadorg.eclipse.emf.compare-4914dc7994243cf26780180e9ecba9c83570ea76.tar.gz
org.eclipse.emf.compare-4914dc7994243cf26780180e9ecba9c83570ea76.tar.xz
org.eclipse.emf.compare-4914dc7994243cf26780180e9ecba9c83570ea76.zip
Add Large UML models to performances tests in a separate profile
Add new profile: performance-large Change-Id: Ib5572bf7d742190efbd051398e036943526164c7 Signed-off-by: Axel Richard <axel.richard@obeo.fr>
Diffstat (limited to 'performance')
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/pom.xml2
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/AbstractEMFComparePerformanceTest.java2
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/PerformanceLargeSuite.java41
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeCompare.java51
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeConflict.java55
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeDiff.java53
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeEqui.java53
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeLogicalModel.java110
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeMatchContent.java52
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeMatchId.java50
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargePostComparisonGMF.java56
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargePostComparisonUML.java57
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargePostMatchUML.java52
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeReq.java53
14 files changed, 685 insertions, 2 deletions
diff --git a/performance/org.eclipse.emf.compare.tests.performance/pom.xml b/performance/org.eclipse.emf.compare.tests.performance/pom.xml
index 8f88f9fde..82f82e8e0 100644
--- a/performance/org.eclipse.emf.compare.tests.performance/pom.xml
+++ b/performance/org.eclipse.emf.compare.tests.performance/pom.xml
@@ -20,7 +20,7 @@
<artifactId>tycho-surefire-plugin</artifactId>
<configuration>
<includes>
- <include>org/eclipse/emf/compare/tests/performance/PerformanceSuite.class</include>
+ <include>org/eclipse/emf/compare/tests/performance/${performance-suite}Suite.class</include>
</includes>
<argLine>-Xmx2048m -XX:MaxPermSize=256m</argLine>
</configuration>
diff --git a/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/AbstractEMFComparePerformanceTest.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/AbstractEMFComparePerformanceTest.java
index 6f1a1029d..575ec6830 100644
--- a/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/AbstractEMFComparePerformanceTest.java
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/AbstractEMFComparePerformanceTest.java
@@ -173,7 +173,7 @@ public abstract class AbstractEMFComparePerformanceTest {
BufferedReader br = new BufferedReader(new FileReader(output));
if (br.readLine() == null) {
br.close();
- writer.println("Date, Small UML, Nominal UML, Small Split UML, Nominal Split UML, Large UML, Large Split UML");
+ writer.println("Date, Large UML, Large Split UML");
}
writer.print(timestamp + ",");
Collection<Measure> measures = entry.getValue();
diff --git a/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/PerformanceLargeSuite.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/PerformanceLargeSuite.java
new file mode 100644
index 000000000..d75937c5d
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/PerformanceLargeSuite.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2015 Obeo. All rights reserved. This program and the
+ * accompanying materials are made available under the terms of the Eclipse
+ * Public License v1.0 which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Obeo - initial API and implementation
+ */
+package org.eclipse.emf.compare.tests.performance;
+
+import org.eclipse.emf.compare.tests.performance.large.TestLargeCompare;
+import org.eclipse.emf.compare.tests.performance.large.TestLargeConflict;
+import org.eclipse.emf.compare.tests.performance.large.TestLargeDiff;
+import org.eclipse.emf.compare.tests.performance.large.TestLargeEqui;
+import org.eclipse.emf.compare.tests.performance.large.TestLargeLogicalModel;
+import org.eclipse.emf.compare.tests.performance.large.TestLargeMatchContent;
+import org.eclipse.emf.compare.tests.performance.large.TestLargeMatchId;
+import org.eclipse.emf.compare.tests.performance.large.TestLargePostComparisonUML;
+import org.eclipse.emf.compare.tests.performance.large.TestLargePostMatchUML;
+import org.eclipse.emf.compare.tests.performance.large.TestLargeReq;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+@RunWith(Suite.class)
+@SuiteClasses({
+ TestLargeMatchId.class,
+// TestLargeMatchContent.class,
+ TestLargeDiff.class,
+ TestLargeReq.class,
+ TestLargeEqui.class,
+ TestLargeConflict.class,
+ TestLargeCompare.class,
+ TestLargePostMatchUML.class,
+ TestLargePostComparisonUML.class,
+ TestLargeLogicalModel.class,
+})
+public class PerformanceLargeSuite {
+
+
+}
diff --git a/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeCompare.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeCompare.java
new file mode 100644
index 000000000..3a77a7ddd
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeCompare.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.emf.compare.tests.performance.large;
+
+import java.io.IOException;
+
+import org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runners.MethodSorters;
+
+import data.models.Data;
+import data.models.LargeInputData;
+import fr.obeo.performance.api.PerformanceMonitor;
+
+/**
+ * @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a>
+ *
+ */
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestLargeCompare extends AbstractEMFComparePerformanceTest {
+
+ /**
+ * {@inheritDoc}
+ * @see org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest#setSUTName()
+ */
+ @Override
+ protected void setSUTName() {
+ getPerformance().getSystemUnderTest().setName(TestLargeCompare.class.getSimpleName());
+ }
+
+ @Test
+ public void e_compareUMLLarge() throws IOException {
+ PerformanceMonitor monitor = getPerformance().createMonitor("compareUMLLarge");
+ final Data data = new LargeInputData();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.compare();
+ }
+ });
+ data.dispose();
+ }
+}
diff --git a/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeConflict.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeConflict.java
new file mode 100644
index 000000000..37a61ab3f
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeConflict.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.emf.compare.tests.performance.large;
+
+import java.io.IOException;
+
+import org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runners.MethodSorters;
+
+import data.models.Data;
+import data.models.LargeInputData;
+import fr.obeo.performance.api.PerformanceMonitor;
+
+/**
+ * @author <a href="mailto:axel.richard@obeo.fr">Axel Richard</a>
+ *
+ */
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestLargeConflict extends AbstractEMFComparePerformanceTest {
+
+ /**
+ * {@inheritDoc}
+ * @see org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest#setSUTName()
+ */
+ @Override
+ protected void setSUTName() {
+ getPerformance().getSystemUnderTest().setName(TestLargeConflict.class.getSimpleName());
+ }
+
+ @Test
+ public void e_conflictUMLLarge() throws IOException {
+ PerformanceMonitor monitor = getPerformance().createMonitor("conflictUMLLarge");
+ final Data data = new LargeInputData();
+ data.match();
+ data.diff();
+ data.req();
+ data.equi();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.conflict();
+ }
+ });
+ data.dispose();
+ }
+}
diff --git a/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeDiff.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeDiff.java
new file mode 100644
index 000000000..0bddf6eba
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeDiff.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.emf.compare.tests.performance.large;
+
+import java.io.IOException;
+
+import org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runners.MethodSorters;
+
+import data.models.Data;
+import data.models.LargeInputData;
+import fr.obeo.performance.api.PerformanceMonitor;
+
+/**
+ * @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a>
+ *
+ */
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestLargeDiff extends AbstractEMFComparePerformanceTest {
+
+
+ /**
+ * {@inheritDoc}
+ * @see org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest#setSUTName()
+ */
+ @Override
+ protected void setSUTName() {
+ getPerformance().getSystemUnderTest().setName(TestLargeDiff.class.getSimpleName());
+ }
+
+ @Test
+ public void e_diffUMLLarge() throws IOException {
+ PerformanceMonitor monitor = getPerformance().createMonitor("diffUMLLarge");
+ final Data data = new LargeInputData();
+ data.match();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.diff();
+ }
+ });
+ data.dispose();
+ }
+}
diff --git a/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeEqui.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeEqui.java
new file mode 100644
index 000000000..f015b49dc
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeEqui.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.emf.compare.tests.performance.large;
+
+import java.io.IOException;
+
+import org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runners.MethodSorters;
+
+import data.models.Data;
+import data.models.LargeInputData;
+import fr.obeo.performance.api.PerformanceMonitor;
+
+/**
+ * @author <a href="mailto:axel.richard@obeo.fr">Axel Richard</a>
+ *
+ */
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestLargeEqui extends AbstractEMFComparePerformanceTest {
+
+ /**
+ * {@inheritDoc}
+ * @see org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest#setSUTName()
+ */
+ @Override
+ protected void setSUTName() {
+ getPerformance().getSystemUnderTest().setName(TestLargeEqui.class.getSimpleName());
+ }
+
+ @Test
+ public void e_equiUMLLarge() throws IOException {
+ PerformanceMonitor monitor = getPerformance().createMonitor("equiUMLLarge");
+ final Data data = new LargeInputData();
+ data.match();
+ data.diff();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.equi();
+ }
+ });
+ data.dispose();
+ }
+}
diff --git a/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeLogicalModel.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeLogicalModel.java
new file mode 100644
index 000000000..3de1085f0
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeLogicalModel.java
@@ -0,0 +1,110 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.emf.compare.tests.performance.large;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.List;
+
+import org.eclipse.compare.ITypedElement;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.junit.Assert;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runners.MethodSorters;
+import org.osgi.framework.Bundle;
+
+import data.models.Data;
+import data.models.LargeInputData;
+import data.models.StorageTypedElement;
+import fr.obeo.performance.api.PerformanceMonitor;
+
+/**
+ * @author <a href="mailto:axel.richard@obeo.fr">Axel Richard</a>
+ *
+ */
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestLargeLogicalModel extends AbstractEMFComparePerformanceTest {
+
+ /**
+ * {@inheritDoc}
+ * @see org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest#setSUTName()
+ */
+ @Override
+ protected void setSUTName() {
+ getPerformance().getSystemUnderTest().setName(TestLargeLogicalModel.class.getSimpleName());
+ }
+
+ @Test
+ public void e_logicalModelUMLLarge() {
+ try {
+ PerformanceMonitor monitor = getPerformance().createMonitor("logicalModelUMLLarge");
+ final Data data = new LargeInputData();
+
+ Bundle bundle = Platform.getBundle("org.eclipse.emf.compare.tests.performance");
+ URL entry = bundle.getEntry("src/data/models/model_size_large/.project");
+ URL fileURL = FileLocator.toFileURL(entry);
+ IProjectDescription description = ResourcesPlugin.getWorkspace().loadProjectDescription(new Path(fileURL.getPath()));
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(description.getName());
+ project.create(description, new NullProgressMonitor());
+ project.open(new NullProgressMonitor());
+ final IFile leftFile = project.getFile(new Path("original/model.uml"));
+ final IFile rightFile = project.getFile(new Path("modified/model.uml"));
+ final ITypedElement leftTypedElement = new StorageTypedElement(leftFile, leftFile.getFullPath().toOSString());
+ final ITypedElement rightTypedElement = new StorageTypedElement(rightFile, rightFile.getFullPath().toOSString());
+
+ monitor.measure(false, getStepsNumber(), new Runnable() {
+ public void run() {
+ data.logicalModel(leftTypedElement, rightTypedElement);
+ }
+ });
+ data.dispose();
+ project.close(new NullProgressMonitor());
+ project.delete(false, new NullProgressMonitor());
+ } catch (Exception e) {
+ e.printStackTrace();
+ Assert.fail();
+ }
+ }
+
+ private IFile createProjects(Bundle bundle, final ResourceSet rightResourceSet,
+ String sourceProjectName, String projectName, final List<IProject> projects) throws IOException,
+ CoreException {
+ IFile file = null;
+ for (Resource right : rightResourceSet.getResources()) {
+ //URIs pattern : bundleresource://149.fwk766258359/data/models/model_size_small_split/model_size_small_original_model/model.uml
+ //We have to retrieve the second to last segment
+ String projectPartName = right.getURI().segment(3);
+ URL entry = bundle.getEntry("src/data/models/" + sourceProjectName + "/" + projectPartName + "/.project");
+ URL fileURL = FileLocator.toFileURL(entry);
+ IProjectDescription description = ResourcesPlugin.getWorkspace().loadProjectDescription(new Path(fileURL.getPath()));
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(description.getName());
+ project.create(description, new NullProgressMonitor());
+ project.open(new NullProgressMonitor());
+ projects.add(project);
+ if (file == null && projectPartName.equals(projectName)){
+ file = project.getFile(new Path("model.uml"));
+ }
+ }
+ return file;
+ }
+}
diff --git a/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeMatchContent.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeMatchContent.java
new file mode 100644
index 000000000..c3e57d8d0
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeMatchContent.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.emf.compare.tests.performance.large;
+
+import java.io.IOException;
+
+import org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest;
+import org.eclipse.emf.compare.utils.UseIdentifiers;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runners.MethodSorters;
+
+import data.models.Data;
+import data.models.LargeInputData;
+import fr.obeo.performance.api.PerformanceMonitor;
+
+/**
+ * @author <a href="mailto:axel.richard@obeo.fr">Axel Richard</a>
+ *
+ */
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestLargeMatchContent extends AbstractEMFComparePerformanceTest {
+
+ /**
+ * {@inheritDoc}
+ * @see org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest#setSUTName()
+ */
+ @Override
+ protected void setSUTName() {
+ getPerformance().getSystemUnderTest().setName(TestLargeMatchContent.class.getSimpleName());
+ }
+
+ @Test
+ public void e_matchContentUMLLarge() throws IOException {
+ PerformanceMonitor monitor = getPerformance().createMonitor("matchContentUMLLarge");
+ final Data data = new LargeInputData();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.match(UseIdentifiers.NEVER);
+ }
+ });
+ data.dispose();
+ }
+}
diff --git a/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeMatchId.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeMatchId.java
new file mode 100644
index 000000000..442265b04
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeMatchId.java
@@ -0,0 +1,50 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.emf.compare.tests.performance.large;
+
+import org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest;
+import org.eclipse.emf.compare.utils.UseIdentifiers;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runners.MethodSorters;
+
+import data.models.Data;
+import data.models.LargeInputData;
+import fr.obeo.performance.api.PerformanceMonitor;
+
+/**
+ * @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a>
+ *
+ */
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestLargeMatchId extends AbstractEMFComparePerformanceTest {
+
+ /**
+ * {@inheritDoc}
+ * @see org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest#setSUTName()
+ */
+ @Override
+ protected void setSUTName() {
+ getPerformance().getSystemUnderTest().setName(TestLargeMatchId.class.getSimpleName());
+ }
+
+ @Test
+ public void e_matchIdUMLLarge() {
+ PerformanceMonitor monitor = getPerformance().createMonitor("matchIdUMLLarge");
+ final Data data = new LargeInputData();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.match(UseIdentifiers.ONLY);
+ }
+ });
+ data.dispose();
+ }
+}
diff --git a/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargePostComparisonGMF.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargePostComparisonGMF.java
new file mode 100644
index 000000000..d3cdba19c
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargePostComparisonGMF.java
@@ -0,0 +1,56 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.emf.compare.tests.performance.large;
+
+import java.io.IOException;
+
+import org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runners.MethodSorters;
+
+import data.models.Data;
+import data.models.LargeInputData;
+import fr.obeo.performance.api.PerformanceMonitor;
+
+/**
+ * @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a>
+ *
+ */
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestLargePostComparisonGMF extends AbstractEMFComparePerformanceTest {
+
+ /**
+ * {@inheritDoc}
+ * @see org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest#setSUTName()
+ */
+ @Override
+ protected void setSUTName() {
+ getPerformance().getSystemUnderTest().setName(TestLargePostComparisonGMF.class.getSimpleName());
+ }
+
+ @Test
+ public void e_pcGMFUMLLarge() throws IOException {
+ PerformanceMonitor monitor = getPerformance().createMonitor("pcGMFUMLLarge");
+ final Data data = new LargeInputData();
+ data.match();
+ data.diff();
+ data.req();
+ data.equi();
+ data.conflict();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.postComparisonGMF();
+ }
+ });
+ data.dispose();
+ }
+}
diff --git a/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargePostComparisonUML.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargePostComparisonUML.java
new file mode 100644
index 000000000..4de401ec0
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargePostComparisonUML.java
@@ -0,0 +1,57 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.emf.compare.tests.performance.large;
+
+import java.io.IOException;
+
+import org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runners.MethodSorters;
+
+import data.models.Data;
+import data.models.LargeInputData;
+import fr.obeo.performance.api.PerformanceMonitor;
+
+/**
+ * @author <a href="mailto:axel.richard@obeo.fr">Axel Richard</a>
+ *
+ */
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestLargePostComparisonUML extends AbstractEMFComparePerformanceTest {
+
+ /**
+ * {@inheritDoc}
+ * @see org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest#setSUTName()
+ */
+ @Override
+ protected void setSUTName() {
+ getPerformance().getSystemUnderTest().setName(TestLargePostComparisonUML.class.getSimpleName());
+ }
+
+ @Test
+ public void e_pcUMLUMLLarge() throws IOException {
+ PerformanceMonitor monitor = getPerformance().createMonitor("pcUMLUMLLarge");
+ final Data data = new LargeInputData();
+ data.match();
+ data.postMatchUML();
+ data.diff();
+ data.req();
+ data.equi();
+ data.conflict();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.postComparisonUML();
+ }
+ });
+ data.dispose();
+ }
+}
diff --git a/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargePostMatchUML.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargePostMatchUML.java
new file mode 100644
index 000000000..c884eec7e
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargePostMatchUML.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.emf.compare.tests.performance.large;
+
+import java.io.IOException;
+
+import org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runners.MethodSorters;
+
+import data.models.Data;
+import data.models.LargeInputData;
+import fr.obeo.performance.api.PerformanceMonitor;
+
+/**
+ * @author <a href="mailto:axel.richard@obeo.fr">Axel Richard</a>
+ *
+ */
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestLargePostMatchUML extends AbstractEMFComparePerformanceTest {
+
+ /**
+ * {@inheritDoc}
+ * @see org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest#setSUTName()
+ */
+ @Override
+ protected void setSUTName() {
+ getPerformance().getSystemUnderTest().setName(TestLargePostMatchUML.class.getSimpleName());
+ }
+
+ @Test
+ public void e_pmUMLUMLLarge() throws IOException {
+ PerformanceMonitor monitor = getPerformance().createMonitor("pmUMLUMLLarge");
+ final Data data = new LargeInputData();
+ data.match();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.postMatchUML();
+ }
+ });
+ data.dispose();
+ }
+}
diff --git a/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeReq.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeReq.java
new file mode 100644
index 000000000..b7a17728b
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/large/TestLargeReq.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.emf.compare.tests.performance.large;
+
+import java.io.IOException;
+
+import org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runners.MethodSorters;
+
+import data.models.Data;
+import data.models.LargeInputData;
+import fr.obeo.performance.api.PerformanceMonitor;
+
+/**
+ * @author <a href="mailto:axel.richard@obeo.fr">Axel Richard</a>
+ *
+ */
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestLargeReq extends AbstractEMFComparePerformanceTest {
+
+ /**
+ * {@inheritDoc}
+ * @see org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest#setSUTName()
+ */
+ @Override
+ protected void setSUTName() {
+ getPerformance().getSystemUnderTest().setName(TestLargeReq.class.getSimpleName());
+ }
+
+ @Test
+ public void e_reqUMLLarge() throws IOException {
+ PerformanceMonitor monitor = getPerformance().createMonitor("reqUMLLarge");
+ final Data data = new LargeInputData();
+ data.match();
+ data.diff();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.req();
+ }
+ });
+ data.dispose();
+ }
+}

Back to the top