Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAxel Richard2014-02-12 13:35:32 +0000
committerAxel Richard2014-02-12 16:29:04 +0000
commitbda238f44b4c08fd1895ceed76d71023743eca4d (patch)
tree1e208ea90c785d5c013a8eb813f17a2337578e12
parent1b76ce4d3190919ba86339f3b48b30decc61400a (diff)
downloadorg.eclipse.emf.compare-bda238f44b4c08fd1895ceed76d71023743eca4d.tar.gz
org.eclipse.emf.compare-bda238f44b4c08fd1895ceed76d71023743eca4d.tar.xz
org.eclipse.emf.compare-bda238f44b4c08fd1895ceed76d71023743eca4d.zip
Add new tests
Match by Id, by content Req, Equi, Conflict Compare LogicalModel UML post match, post comparison GMF post comparison
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance-parent/targetPlatforms/luna-sdk.target8
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance-parent/targetPlatforms/luna-sdk.targetplatform9
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/META-INF/MANIFEST.MF8
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestCompare-heap_delta.csv2
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestCompare-heap_peek.csv2
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestCompare-system_time.csv2
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestConflict-heap_delta.csv2
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestConflict-heap_peek.csv2
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestConflict-system_time.csv2
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestDiff-heap_delta.csv11
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestDiff-heap_peek.csv13
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestDiff-system_time.csv13
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestEqui-heap_delta.csv2
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestEqui-heap_peek.csv2
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestEqui-system_time.csv2
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestLogicalModel-heap_delta.csv1
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestLogicalModel-heap_peek.csv1
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestLogicalModel-system_time.csv1
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestMatch-heap_delta.csv13
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestMatch-heap_peek.csv13
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestMatch-system_time.csv13
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestPostComparisonUML-heap_delta.csv2
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestPostComparisonUML-heap_peek.csv2
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestPostComparisonUML-system_time.csv2
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestPostMatchUML-heap_delta.csv2
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestPostMatchUML-heap_peek.csv2
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestPostMatchUML-system_time.csv2
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestReq-heap_delta.csv2
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestReq-heap_peek.csv2
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/TestReq-system_time.csv2
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/index.html355
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/data/models/Data.java73
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/data/models/StorageTypedElement.java79
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/data/models/model_size_nominal/.project11
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/data/models/model_size_small/.project11
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/AbstractEMFComparePerformanceTest.java8
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/PerformanceSuite.java11
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestCompare.java76
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestConflict.java89
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestDiff.java24
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestEqui.java83
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestLogicalModel.java98
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestMatchContent.java77
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestMatchId.java (renamed from performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestMatch.java)31
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestPostComparisonGMF.java91
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestPostComparisonUML.java94
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestPostMatchUML.java79
-rw-r--r--performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestReq.java83
48 files changed, 1376 insertions, 137 deletions
diff --git a/performance/org.eclipse.emf.compare.tests.performance-parent/targetPlatforms/luna-sdk.target b/performance/org.eclipse.emf.compare.tests.performance-parent/targetPlatforms/luna-sdk.target
index 0b6419801..35dfbd239 100644
--- a/performance/org.eclipse.emf.compare.tests.performance-parent/targetPlatforms/luna-sdk.target
+++ b/performance/org.eclipse.emf.compare.tests.performance-parent/targetPlatforms/luna-sdk.target
@@ -5,13 +5,10 @@
<unit id="org.eclipse.sdk.ide" version="4.4.0.I20140123-1600"/>
<unit id="org.eclipse.emf.feature.group" version="2.10.0.v20140127-0448"/>
<unit id="org.eclipse.uml2.feature.group" version="5.0.0.v20140127-0906"/>
+<unit id="org.eclipse.egit.feature.group" version="3.2.0.201312181205-r"/>
<repository location="http://download.eclipse.org/releases/luna"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="false" type="InstallableUnit">
-<unit id="org.junit4" version="4.8.1.v20100525"/>
-<repository location="http://download.eclipse.org/releases/helios"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="false" type="InstallableUnit">
<unit id="com.google.guava" version="11.0.2.v201303041551"/>
<unit id="org.apache.commons.logging" version="1.1.1.v201101211721"/>
<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/S20131024145017/repository/"/>
@@ -19,6 +16,9 @@
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="false" type="InstallableUnit">
<unit id="org.eclipse.emf.compare.feature.group" version="3.0.0.201402070502"/>
<unit id="org.eclipse.emf.compare.ide.ui.feature.group" version="3.0.0.201402070502"/>
+<unit id="org.eclipse.emf.compare.diagram.gmf.feature.group" version="3.0.0.201402070502"/>
+<unit id="org.eclipse.emf.compare.diagram.papyrus.feature.group" version="3.0.0.201402070502"/>
+<unit id="org.eclipse.emf.compare.uml2.feature.group" version="3.0.0.201402070502"/>
<repository location="http://download.eclipse.org/modeling/emf/compare/updates/nightly/latest"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="false" type="InstallableUnit">
diff --git a/performance/org.eclipse.emf.compare.tests.performance-parent/targetPlatforms/luna-sdk.targetplatform b/performance/org.eclipse.emf.compare.tests.performance-parent/targetPlatforms/luna-sdk.targetplatform
index 96e5c2d9b..d632caa7d 100644
--- a/performance/org.eclipse.emf.compare.tests.performance-parent/targetPlatforms/luna-sdk.targetplatform
+++ b/performance/org.eclipse.emf.compare.tests.performance-parent/targetPlatforms/luna-sdk.targetplatform
@@ -5,10 +5,8 @@ location "http://download.eclipse.org/releases/luna" {
org.eclipse.sdk.ide
org.eclipse.emf.feature.group
org.eclipse.uml2.feature.group
-}
-
-location "http://download.eclipse.org/releases/helios" {
- org.junit4
+ org.eclipse.egit.feature.group
+ org.junit4;version="[4.11.0,5.0.0)"
}
location "http://download.eclipse.org/tools/orbit/downloads/drops/S20131024145017/repository/" {
@@ -21,6 +19,9 @@ location "http://download.eclipse.org/modeling/emf/compare/updates/nightly/lates
with requirements
org.eclipse.emf.compare.feature.group
org.eclipse.emf.compare.ide.ui.feature.group
+ org.eclipse.emf.compare.diagram.gmf.feature.group
+ org.eclipse.emf.compare.diagram.papyrus.feature.group
+ org.eclipse.emf.compare.uml2.feature.group
}
location "http://axelrichard.github.io/fr.obeo.performance/" {
diff --git a/performance/org.eclipse.emf.compare.tests.performance/META-INF/MANIFEST.MF b/performance/org.eclipse.emf.compare.tests.performance/META-INF/MANIFEST.MF
index 8e0541dd9..f9fbc069f 100644
--- a/performance/org.eclipse.emf.compare.tests.performance/META-INF/MANIFEST.MF
+++ b/performance/org.eclipse.emf.compare.tests.performance/META-INF/MANIFEST.MF
@@ -6,13 +6,19 @@ Bundle-Version: 1.0.0.qualifier
Bundle-Vendor: Eclipse Modeling
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.8.0",
+ org.eclipse.core.resources,
+ org.eclipse.swt,
org.junit;bundle-version="4.10.0",
com.google.guava;bundle-version="10.0.1",
org.eclipse.uml2.uml;bundle-version="4.0.0",
org.eclipse.uml2.uml.resources;bundle-version="4.0.0",
+ org.eclipse.compare;bundle-version="3.5.500",
org.eclipse.emf.compare;bundle-version="2.0.0",
org.eclipse.emf.compare.ide.ui;bundle-version="3.0.0",
- fr.obeo.performance;bundle-version="1.0.0"
+ org.eclipse.emf.compare.diagram;bundle-version="2.2.0",
+ org.eclipse.emf.compare.uml2;bundle-version="2.2.0",
+ fr.obeo.performance;bundle-version="1.0.0",
+ org.eclipse.ui.ide
Bundle-Activator: org.eclipse.emf.compare.tests.performance.EMFComparePerformanceActivator
Bundle-ClassPath: .
Export-Package: data.models,
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestCompare-heap_delta.csv b/performance/org.eclipse.emf.compare.tests.performance/TestCompare-heap_delta.csv
new file mode 100644
index 000000000..579444ebc
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/TestCompare-heap_delta.csv
@@ -0,0 +1,2 @@
+Date,Small UML,Nominal UML,Large UML
+2014/02/12 16:39:07,0.64,32.78,166.22
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestCompare-heap_peek.csv b/performance/org.eclipse.emf.compare.tests.performance/TestCompare-heap_peek.csv
new file mode 100644
index 000000000..031cebbbe
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/TestCompare-heap_peek.csv
@@ -0,0 +1,2 @@
+Date,Small UML,Nominal UML,Large UML
+2014/02/12 16:39:07,40.19,400.98,1057.08
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestCompare-system_time.csv b/performance/org.eclipse.emf.compare.tests.performance/TestCompare-system_time.csv
new file mode 100644
index 000000000..31857a0dd
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/TestCompare-system_time.csv
@@ -0,0 +1,2 @@
+Date,Small UML,Nominal UML,Large UML
+2014/02/12 16:39:07,0,2,32
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestConflict-heap_delta.csv b/performance/org.eclipse.emf.compare.tests.performance/TestConflict-heap_delta.csv
new file mode 100644
index 000000000..210b1c63e
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/TestConflict-heap_delta.csv
@@ -0,0 +1,2 @@
+Date,Small UML,Nominal UML,Large UML
+2014/02/12 15:58:01,0.01,4.96,86.29
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestConflict-heap_peek.csv b/performance/org.eclipse.emf.compare.tests.performance/TestConflict-heap_peek.csv
new file mode 100644
index 000000000..68c2d4414
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/TestConflict-heap_peek.csv
@@ -0,0 +1,2 @@
+Date,Small UML,Nominal UML,Large UML
+2014/02/12 15:58:01,37.28,158.61,640.7
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestConflict-system_time.csv b/performance/org.eclipse.emf.compare.tests.performance/TestConflict-system_time.csv
new file mode 100644
index 000000000..444105101
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/TestConflict-system_time.csv
@@ -0,0 +1,2 @@
+Date,Small UML,Nominal UML,Large UML
+2014/02/12 15:58:01,0,0,964
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestDiff-heap_delta.csv b/performance/org.eclipse.emf.compare.tests.performance/TestDiff-heap_delta.csv
index fcc147154..01aefec7f 100644
--- a/performance/org.eclipse.emf.compare.tests.performance/TestDiff-heap_delta.csv
+++ b/performance/org.eclipse.emf.compare.tests.performance/TestDiff-heap_delta.csv
@@ -1,11 +1,2 @@
Date,Small UML,Nominal UML,Large UML
-2012/08/22 18:17:47,-0.42;0.67;0.69,-5;13.32;18.29,
-2012/08/22 18:24:45,-0;0;0,3.46;6.27;6.42,
-2012/08/22 18:28:02,-1.29;0.34;0.34,11.7;24.21;24.42,
-2014/02/07 14:42:40,45.16,35.8,0
-2014/02/07 15:40:19,-257.19,25.01,0
-2014/02/07 15:56:11,45.55,27.75,0
-2014/02/07 16:04:30,43.81,-92.74,9.03
-2014/02/07 16:42:47,40.53,31.18,0
-2014/02/07 18:19:54,44.1,-50.43,9.04
-2014/02/10 09:38:27,36.73,-58.3,4.54
+2014/02/12 15:53:58,0.64,40.57,-106.5
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestDiff-heap_peek.csv b/performance/org.eclipse.emf.compare.tests.performance/TestDiff-heap_peek.csv
index 35851ae2f..906914c4a 100644
--- a/performance/org.eclipse.emf.compare.tests.performance/TestDiff-heap_peek.csv
+++ b/performance/org.eclipse.emf.compare.tests.performance/TestDiff-heap_peek.csv
@@ -1,13 +1,2 @@
Date,UML Small,UML Nominal,UML Large
-2012/10/01 11:42:46,36.88;38.49;40.41,45.16;46.61;46.67,47.09;47.13;48.54
-2012/10/01 11:43:14,36.81;38.35;40.28,44.84;46.5;46.54,46.92;46.97;48.37
-2012/10/01 11:45:51,36.7;38.62;40.25,44.78;46.44;46.49,46.89;46.92;48.33
-2012/10/01 11:50:51,36.79;38.63;40.24,44.79;46.46;46.51,46.89;46.9;48.33
-2012/10/01 12:24:58,372;373.34;376.03,232.96;233.17;234.54,950.24;958.95;966.49
-2014/02/07 14:42:40,395.33,1027.98,158.47
-2014/02/07 15:40:19,512.4,861.45,54.61
-2014/02/07 15:56:11,467.41,861.45,54.57
-2014/02/07 16:04:30,267.51,1102.58,218.15
-2014/02/07 16:42:47,251.85,996.99,54.31
-2014/02/07 18:19:54,264.81,1066.95,217.81
-2014/02/10 09:38:27,259.53,1073,213.52
+2014/02/12 15:53:58,38.33,220.49,995.97
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestDiff-system_time.csv b/performance/org.eclipse.emf.compare.tests.performance/TestDiff-system_time.csv
index 905ddd1d6..5e7e583aa 100644
--- a/performance/org.eclipse.emf.compare.tests.performance/TestDiff-system_time.csv
+++ b/performance/org.eclipse.emf.compare.tests.performance/TestDiff-system_time.csv
@@ -1,13 +1,2 @@
Date,UML Small,UML Nominal,UML Large
-2012/10/01 11:42:46,0;0;0,0;0;0,0;0;0
-2012/10/01 11:43:14,0;0;0,0;0;0,0;0;0
-2012/10/01 11:45:51,0;0;0,0;0;0,0;0;0
-2012/10/01 11:50:51,0;0;0,0;0;0,0;0;0
-2012/10/01 12:24:58,0;0;0,1;1;1,6;6;6
-2014/02/07 14:42:40,0,3,0
-2014/02/07 15:40:19,0,3,0
-2014/02/07 15:56:11,0,3,0
-2014/02/07 16:04:30,0,8,0
-2014/02/07 16:42:47,0,3,0
-2014/02/07 18:19:54,0,8,0
-2014/02/10 09:38:27,0,11,0
+2014/02/12 15:53:58,0,0,3
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestEqui-heap_delta.csv b/performance/org.eclipse.emf.compare.tests.performance/TestEqui-heap_delta.csv
new file mode 100644
index 000000000..94cb16718
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/TestEqui-heap_delta.csv
@@ -0,0 +1,2 @@
+Date,Small UML,Nominal UML,Large UML
+2014/02/12 15:51:31,0.01,9.21,63.32
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestEqui-heap_peek.csv b/performance/org.eclipse.emf.compare.tests.performance/TestEqui-heap_peek.csv
new file mode 100644
index 000000000..d373b68e8
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/TestEqui-heap_peek.csv
@@ -0,0 +1,2 @@
+Date,Small UML,Nominal UML,Large UML
+2014/02/12 15:51:31,37.47,260.18,619.7
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestEqui-system_time.csv b/performance/org.eclipse.emf.compare.tests.performance/TestEqui-system_time.csv
new file mode 100644
index 000000000..35d0fd0d9
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/TestEqui-system_time.csv
@@ -0,0 +1,2 @@
+Date,Small UML,Nominal UML,Large UML
+2014/02/12 15:51:31,0,0,0
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestLogicalModel-heap_delta.csv b/performance/org.eclipse.emf.compare.tests.performance/TestLogicalModel-heap_delta.csv
new file mode 100644
index 000000000..ca7934bd3
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/TestLogicalModel-heap_delta.csv
@@ -0,0 +1 @@
+Date,Small UML,Nominal UML,Large UML
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestLogicalModel-heap_peek.csv b/performance/org.eclipse.emf.compare.tests.performance/TestLogicalModel-heap_peek.csv
new file mode 100644
index 000000000..ca7934bd3
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/TestLogicalModel-heap_peek.csv
@@ -0,0 +1 @@
+Date,Small UML,Nominal UML,Large UML
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestLogicalModel-system_time.csv b/performance/org.eclipse.emf.compare.tests.performance/TestLogicalModel-system_time.csv
new file mode 100644
index 000000000..ca7934bd3
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/TestLogicalModel-system_time.csv
@@ -0,0 +1 @@
+Date,Small UML,Nominal UML,Large UML
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestMatch-heap_delta.csv b/performance/org.eclipse.emf.compare.tests.performance/TestMatch-heap_delta.csv
deleted file mode 100644
index 8db7a418f..000000000
--- a/performance/org.eclipse.emf.compare.tests.performance/TestMatch-heap_delta.csv
+++ /dev/null
@@ -1,13 +0,0 @@
-Date,UML Small,UML Nominal,UML Large
-2012/10/01 11:42:39,0.84;0.93;1.31,1.56;1.61;1.64,2.87;3.21;3.22
-2012/10/01 11:43:08,0.59;0.63;1.28,1.56;1.6;1.65,2.86;3.21;3.21
-2012/10/01 11:45:44,0.63;0.94;0.95,1.56;1.61;1.66,2.85;3.21;3.23
-2012/10/01 11:50:45,0.89;0.91;1.3,1.56;1.6;1.65,2.86;3.21;3.21
-2012/10/01 11:53:10,0.93;0.95;0.97,47.26;47.33;50.76,34.79;284.18;467.81
-2014/02/07 14:40:41,162.28,0,86.01
-2014/02/07 15:38:54,3.89,-0.01,35.56
-2014/02/07 15:54:49,142.3,0.01,32.99
-2014/02/07 16:02:49,-104.13,45.9,68.83
-2014/02/07 16:41:28,134.08,0.01,26.24
-2014/02/07 18:18:11,-105.04,45.98,64.31
-2014/02/10 09:35:56,-81.03,45.47,65.77
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestMatch-heap_peek.csv b/performance/org.eclipse.emf.compare.tests.performance/TestMatch-heap_peek.csv
deleted file mode 100644
index af105c430..000000000
--- a/performance/org.eclipse.emf.compare.tests.performance/TestMatch-heap_peek.csv
+++ /dev/null
@@ -1,13 +0,0 @@
-Date,UML Small,UML Nominal,UML Large
-2012/10/01 11:42:39,30.93;32.2;33.13,31.43;32.99;34.64,33.36;36.58;39.45
-2012/10/01 11:43:08,30.92;31.91;33.16,31.42;32.98;34.63,33.28;36.49;39.35
-2012/10/01 11:45:44,30.92;32.26;33.18,31.47;33.03;34.69,33.3;36.51;39.37
-2012/10/01 11:50:45,30.92;32.26;33.19,31.45;33;34.66,33.28;36.49;39.35
-2012/10/01 11:53:10,31.57;32.59;33.53,214.55;262.17;310.82,912.79;1231.41;1500.44
-2014/02/07 14:40:41,1138.73,189.86,384.52
-2014/02/07 15:38:54,993.87,53.58,457.64
-2014/02/07 15:54:49,1128.12,53.74,461.77
-2014/02/07 16:02:49,994.39,241.27,395.15
-2014/02/07 16:41:28,1172.71,54.09,508.51
-2014/02/07 18:18:11,993.44,241.32,396.47
-2014/02/10 09:35:56,999.59,243.38,393.71
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestMatch-system_time.csv b/performance/org.eclipse.emf.compare.tests.performance/TestMatch-system_time.csv
deleted file mode 100644
index 40b54c75b..000000000
--- a/performance/org.eclipse.emf.compare.tests.performance/TestMatch-system_time.csv
+++ /dev/null
@@ -1,13 +0,0 @@
-Date,UML Small,UML Nominal,UML Large
-2012/10/01 11:42:39,0;0;0,0;0;0,0;0;0
-2012/10/01 11:43:08,0;0;0,0;0;0,0;0;0
-2012/10/01 11:45:44,0;0;1,0;0;0,0;0;0
-2012/10/01 11:50:45,0;0;0,0;0;0,0;0;0
-2012/10/01 11:53:10,0;0;0,18;19;19,367;451;479
-2014/02/07 14:40:41,17,0,2
-2014/02/07 15:38:54,14,0,2
-2014/02/07 15:54:49,14,0,2
-2014/02/07 16:02:49,16,0,2
-2014/02/07 16:41:28,13,0,2
-2014/02/07 18:18:11,17,0,2
-2014/02/10 09:35:56,20,0,3
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestPostComparisonUML-heap_delta.csv b/performance/org.eclipse.emf.compare.tests.performance/TestPostComparisonUML-heap_delta.csv
new file mode 100644
index 000000000..e10d5fb59
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/TestPostComparisonUML-heap_delta.csv
@@ -0,0 +1,2 @@
+Date,Small UML,Nominal UML,Large UML
+2014/02/12 17:00:54,0.01,10.71,131.95
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestPostComparisonUML-heap_peek.csv b/performance/org.eclipse.emf.compare.tests.performance/TestPostComparisonUML-heap_peek.csv
new file mode 100644
index 000000000..aae34c17e
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/TestPostComparisonUML-heap_peek.csv
@@ -0,0 +1,2 @@
+Date,Small UML,Nominal UML,Large UML
+2014/02/12 17:00:54,45.62,246.44,744.89
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestPostComparisonUML-system_time.csv b/performance/org.eclipse.emf.compare.tests.performance/TestPostComparisonUML-system_time.csv
new file mode 100644
index 000000000..3db95d205
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/TestPostComparisonUML-system_time.csv
@@ -0,0 +1,2 @@
+Date,Small UML,Nominal UML,Large UML
+2014/02/12 17:00:54,0,0,0
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestPostMatchUML-heap_delta.csv b/performance/org.eclipse.emf.compare.tests.performance/TestPostMatchUML-heap_delta.csv
new file mode 100644
index 000000000..69bf9acfd
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/TestPostMatchUML-heap_delta.csv
@@ -0,0 +1,2 @@
+Date,Small UML,Nominal UML,Large UML
+2014/02/12 16:59:39,0.01,0.95,9.37
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestPostMatchUML-heap_peek.csv b/performance/org.eclipse.emf.compare.tests.performance/TestPostMatchUML-heap_peek.csv
new file mode 100644
index 000000000..dc16e0301
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/TestPostMatchUML-heap_peek.csv
@@ -0,0 +1,2 @@
+Date,Small UML,Nominal UML,Large UML
+2014/02/12 16:59:39,35.47,238.99,755.7
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestPostMatchUML-system_time.csv b/performance/org.eclipse.emf.compare.tests.performance/TestPostMatchUML-system_time.csv
new file mode 100644
index 000000000..2f4311676
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/TestPostMatchUML-system_time.csv
@@ -0,0 +1,2 @@
+Date,Small UML,Nominal UML,Large UML
+2014/02/12 16:59:39,0,0,0
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestReq-heap_delta.csv b/performance/org.eclipse.emf.compare.tests.performance/TestReq-heap_delta.csv
new file mode 100644
index 000000000..b0ac696ec
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/TestReq-heap_delta.csv
@@ -0,0 +1,2 @@
+Date,Small UML,Nominal UML,Large UML
+2014/02/12 15:39:51,0.01,12.38,-45.46
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestReq-heap_peek.csv b/performance/org.eclipse.emf.compare.tests.performance/TestReq-heap_peek.csv
new file mode 100644
index 000000000..85d04a074
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/TestReq-heap_peek.csv
@@ -0,0 +1,2 @@
+Date,Small UML,Nominal UML,Large UML
+2014/02/12 15:39:51,37.68,220.34,879.9
diff --git a/performance/org.eclipse.emf.compare.tests.performance/TestReq-system_time.csv b/performance/org.eclipse.emf.compare.tests.performance/TestReq-system_time.csv
new file mode 100644
index 000000000..324751a1a
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/TestReq-system_time.csv
@@ -0,0 +1,2 @@
+Date,Small UML,Nominal UML,Large UML
+2014/02/12 15:39:51,0,0,0
diff --git a/performance/org.eclipse.emf.compare.tests.performance/index.html b/performance/org.eclipse.emf.compare.tests.performance/index.html
index b78fad2fe..2df68716d 100644
--- a/performance/org.eclipse.emf.compare.tests.performance/index.html
+++ b/performance/org.eclipse.emf.compare.tests.performance/index.html
@@ -10,10 +10,16 @@
</head>
<body>
<p>
-<h1>Match</h1>
- <div id="TestMatch-system_time" style="width:800px; height:320px;"></div>
- <div id="TestMatch-heap_peek" style="width:800px; height:320px;"></div>
- <div id="TestMatch-heap_delta" style="width:800px; height:320px;"></div>
+<h1>Match Id</h1>
+ <div id="TestMatchId-system_time" style="width:800px; height:320px;"></div>
+ <div id="TestMatchId-heap_peek" style="width:800px; height:320px;"></div>
+ <div id="TestMatchId-heap_delta" style="width:800px; height:320px;"></div>
+</p>
+<p>
+<h1>Match Content</h1>
+ <div id="TestMatchContent-system_time" style="width:800px; height:320px;"></div>
+ <div id="TestMatchContent-heap_peek" style="width:800px; height:320px;"></div>
+ <div id="TestMatchContent-heap_delta" style="width:800px; height:320px;"></div>
</p>
<p>
<h1>Diff</h1>
@@ -21,43 +27,120 @@
<div id="TestDiff-heap_peek" style="width:800px; height:320px;"></div>
<div id="TestDiff-heap_delta" style="width:800px; height:320px;"></div>
</p>
+<p>
+<h1>Req</h1>
+ <div id="TestReq-system_time" style="width:800px; height:320px;"></div>
+ <div id="TestReq-heap_peek" style="width:800px; height:320px;"></div>
+ <div id="TestReq-heap_delta" style="width:800px; height:320px;"></div>
+</p>
+<p>
+<h1>Equi</h1>
+ <div id="TestEqui-system_time" style="width:800px; height:320px;"></div>
+ <div id="TestEqui-heap_peek" style="width:800px; height:320px;"></div>
+ <div id="TestEqui-heap_delta" style="width:800px; height:320px;"></div>
+</p>
+<p>
+<h1>Conflict</h1>
+ <div id="TestConflict-system_time" style="width:800px; height:320px;"></div>
+ <div id="TestConflict-heap_peek" style="width:800px; height:320px;"></div>
+ <div id="TestConflict-heap_delta" style="width:800px; height:320px;"></div>
+</p>
+<p>
+<h1>Compare</h1>
+ <div id="TestCompare-system_time" style="width:800px; height:320px;"></div>
+ <div id="TestCompare-heap_peek" style="width:800px; height:320px;"></div>
+ <div id="TestCompare-heap_delta" style="width:800px; height:320px;"></div>
+</p>
+<p>
+<h1>Post Match UML</h1>
+ <div id="TestPostMatchUML-system_time" style="width:800px; height:320px;"></div>
+ <div id="TestPostMatchUML-heap_peek" style="width:800px; height:320px;"></div>
+ <div id="TestPostMatchUML-heap_delta" style="width:800px; height:320px;"></div>
+</p>
+<p>
+<h1>Post Comparison UML</h1>
+ <div id="TestPostComparisonUML-system_time" style="width:800px; height:320px;"></div>
+ <div id="TestPostComparisonUML-heap_peek" style="width:800px; height:320px;"></div>
+ <div id="TestPostComparisonUML-heap_delta" style="width:800px; height:320px;"></div>
+</p>
<script type="text/javascript">
g = [
new Dygraph(
- document.getElementById("TestMatch-system_time"),
- "TestMatch-system_time.csv",
+ document.getElementById("TestMatchId-system_time"),
+ "TestMatchId-system_time.csv",
+ {
+ rollPeriod: 1,
+ showRoller: true,
+ customBars: true,
+ title: 'Test MatchId - system time',
+ ylabel: 'System time (ms)',
+ legend: 'always',
+ labelsDivStyles: { 'textAlign': 'right' }
+ }
+ ),
+ new Dygraph(
+ document.getElementById("TestMatchId-heap_peek"),
+ "TestMatchId-heap_peek.csv",
+ {
+ rollPeriod: 1,
+ showRoller: true,
+ customBars: true,
+ title: 'Test MatchId - heap peek',
+ ylabel: 'Heap peek (MiB)',
+ legend: 'always',
+ labelsDivStyles: { 'textAlign': 'right' }
+ }
+ ),
+ new Dygraph(
+ document.getElementById("TestMatchId-heap_delta"),
+ "TestMatchId-heap_delta.csv",
+ {
+ rollPeriod: 1,
+ showRoller: true,
+ customBars: true,
+ title: 'Test MatchId - heap delta',
+ ylabel: 'Heap delta (MiB)',
+ legend: 'always',
+ labelsDivStyles: { 'textAlign': 'right' }
+ }
+ ),
+
+
+ new Dygraph(
+ document.getElementById("TestMatchContent-system_time"),
+ "TestMatchContent-system_time.csv",
{
rollPeriod: 1,
showRoller: true,
customBars: true,
- title: 'Test Match - system time',
+ title: 'Test MatchContent - system time',
ylabel: 'System time (ms)',
legend: 'always',
labelsDivStyles: { 'textAlign': 'right' }
}
),
new Dygraph(
- document.getElementById("TestMatch-heap_peek"),
- "TestMatch-heap_peek.csv",
+ document.getElementById("TestMatchContent-heap_peek"),
+ "TestMatchContent-heap_peek.csv",
{
rollPeriod: 1,
showRoller: true,
customBars: true,
- title: 'Test Match - heap peek',
+ title: 'Test MatchContent - heap peek',
ylabel: 'Heap peek (MiB)',
legend: 'always',
labelsDivStyles: { 'textAlign': 'right' }
}
),
new Dygraph(
- document.getElementById("TestMatch-heap_delta"),
- "TestMatch-heap_delta.csv",
+ document.getElementById("TestMatchContent-heap_delta"),
+ "TestMatchContent-heap_delta.csv",
{
rollPeriod: 1,
showRoller: true,
customBars: true,
- title: 'Test Match - heap delta',
+ title: 'Test MatchContent - heap delta',
ylabel: 'Heap delta (MiB)',
legend: 'always',
labelsDivStyles: { 'textAlign': 'right' }
@@ -104,6 +187,252 @@
labelsDivStyles: { 'textAlign': 'right' }
}
),
+
+
+ new Dygraph(
+ document.getElementById("TestReq-system_time"),
+ "TestReq-system_time.csv",
+ {
+ rollPeriod: 1,
+ showRoller: true,
+ customBars: true,
+ title: 'Test Req - system time',
+ ylabel: 'System time (ms)',
+ legend: 'always',
+ labelsDivStyles: { 'textAlign': 'right' }
+ }
+ ),
+ new Dygraph(
+ document.getElementById("TestReq-heap_peek"),
+ "TestReq-heap_peek.csv",
+ {
+ rollPeriod: 1,
+ showRoller: true,
+ customBars: true,
+ title: 'Test Req - heap peek',
+ ylabel: 'Heap peek (MiB)',
+ legend: 'always',
+ labelsDivStyles: { 'textAlign': 'right' }
+ }
+ ),
+ new Dygraph(
+ document.getElementById("TestReq-heap_delta"),
+ "TestReq-heap_delta.csv",
+ {
+ rollPeriod: 1,
+ showRoller: true,
+ customBars: true,
+ title: 'Test Req - heap delta',
+ ylabel: 'Heap delta (MiB)',
+ legend: 'always',
+ labelsDivStyles: { 'textAlign': 'right' }
+ }
+ ),
+
+
+ new Dygraph(
+ document.getElementById("TestEqui-system_time"),
+ "TestEqui-system_time.csv",
+ {
+ rollPeriod: 1,
+ showRoller: true,
+ customBars: true,
+ title: 'Test Equi - system time',
+ ylabel: 'System time (ms)',
+ legend: 'always',
+ labelsDivStyles: { 'textAlign': 'right' }
+ }
+ ),
+ new Dygraph(
+ document.getElementById("TestEqui-heap_peek"),
+ "TestEqui-heap_peek.csv",
+ {
+ rollPeriod: 1,
+ showRoller: true,
+ customBars: true,
+ title: 'Test Equi - heap peek',
+ ylabel: 'Heap peek (MiB)',
+ legend: 'always',
+ labelsDivStyles: { 'textAlign': 'right' }
+ }
+ ),
+ new Dygraph(
+ document.getElementById("TestEqui-heap_delta"),
+ "TestEqui-heap_delta.csv",
+ {
+ rollPeriod: 1,
+ showRoller: true,
+ customBars: true,
+ title: 'Test Equi - heap delta',
+ ylabel: 'Heap delta (MiB)',
+ legend: 'always',
+ labelsDivStyles: { 'textAlign': 'right' }
+ }
+ ),
+
+
+ new Dygraph(
+ document.getElementById("TestConflict-system_time"),
+ "TestConflict-system_time.csv",
+ {
+ rollPeriod: 1,
+ showRoller: true,
+ customBars: true,
+ title: 'Test Conflict - system time',
+ ylabel: 'System time (ms)',
+ legend: 'always',
+ labelsDivStyles: { 'textAlign': 'right' }
+ }
+ ),
+ new Dygraph(
+ document.getElementById("TestConflict-heap_peek"),
+ "TestConflict-heap_peek.csv",
+ {
+ rollPeriod: 1,
+ showRoller: true,
+ customBars: true,
+ title: 'Test Conflict - heap peek',
+ ylabel: 'Heap peek (MiB)',
+ legend: 'always',
+ labelsDivStyles: { 'textAlign': 'right' }
+ }
+ ),
+ new Dygraph(
+ document.getElementById("TestConflict-heap_delta"),
+ "TestConflict-heap_delta.csv",
+ {
+ rollPeriod: 1,
+ showRoller: true,
+ customBars: true,
+ title: 'Test Conflict - heap delta',
+ ylabel: 'Heap delta (MiB)',
+ legend: 'always',
+ labelsDivStyles: { 'textAlign': 'right' }
+ }
+ ),
+
+
+ new Dygraph(
+ document.getElementById("TestCompare-system_time"),
+ "TestCompare-system_time.csv",
+ {
+ rollPeriod: 1,
+ showRoller: true,
+ customBars: true,
+ title: 'Test Compare - system time',
+ ylabel: 'System time (ms)',
+ legend: 'always',
+ labelsDivStyles: { 'textAlign': 'right' }
+ }
+ ),
+ new Dygraph(
+ document.getElementById("TestCompare-heap_peek"),
+ "TestCompare-heap_peek.csv",
+ {
+ rollPeriod: 1,
+ showRoller: true,
+ customBars: true,
+ title: 'Test Compare - heap peek',
+ ylabel: 'Heap peek (MiB)',
+ legend: 'always',
+ labelsDivStyles: { 'textAlign': 'right' }
+ }
+ ),
+ new Dygraph(
+ document.getElementById("TestCompare-heap_delta"),
+ "TestCompare-heap_delta.csv",
+ {
+ rollPeriod: 1,
+ showRoller: true,
+ customBars: true,
+ title: 'Test Compare - heap delta',
+ ylabel: 'Heap delta (MiB)',
+ legend: 'always',
+ labelsDivStyles: { 'textAlign': 'right' }
+ }
+ ),
+
+
+ new Dygraph(
+ document.getElementById("TestPostMatchUML-system_time"),
+ "TestPostMatchUML-system_time.csv",
+ {
+ rollPeriod: 1,
+ showRoller: true,
+ customBars: true,
+ title: 'Test Post Match UML - system time',
+ ylabel: 'System time (ms)',
+ legend: 'always',
+ labelsDivStyles: { 'textAlign': 'right' }
+ }
+ ),
+ new Dygraph(
+ document.getElementById("TestPostMatchUML-heap_peek"),
+ "TestPostMatchUML-heap_peek.csv",
+ {
+ rollPeriod: 1,
+ showRoller: true,
+ customBars: true,
+ title: 'Test Post Match UML - heap peek',
+ ylabel: 'Heap peek (MiB)',
+ legend: 'always',
+ labelsDivStyles: { 'textAlign': 'right' }
+ }
+ ),
+ new Dygraph(
+ document.getElementById("TestPostMatchUML-heap_delta"),
+ "TestPostMatchUML-heap_delta.csv",
+ {
+ rollPeriod: 1,
+ showRoller: true,
+ customBars: true,
+ title: 'Test Post Match UML - heap delta',
+ ylabel: 'Heap delta (MiB)',
+ legend: 'always',
+ labelsDivStyles: { 'textAlign': 'right' }
+ }
+ ),
+
+
+ new Dygraph(
+ document.getElementById("TestPostComparisonUML-system_time"),
+ "TestPostComparisonUML-system_time.csv",
+ {
+ rollPeriod: 1,
+ showRoller: true,
+ customBars: true,
+ title: 'Test Post Comparison UML - system time',
+ ylabel: 'System time (ms)',
+ legend: 'always',
+ labelsDivStyles: { 'textAlign': 'right' }
+ }
+ ),
+ new Dygraph(
+ document.getElementById("TestPostComparisonUML-heap_peek"),
+ "TestPostComparisonUML-heap_peek.csv",
+ {
+ rollPeriod: 1,
+ showRoller: true,
+ customBars: true,
+ title: 'Test Post Comparison UML - heap peek',
+ ylabel: 'Heap peek (MiB)',
+ legend: 'always',
+ labelsDivStyles: { 'textAlign': 'right' }
+ }
+ ),
+ new Dygraph(
+ document.getElementById("TestPostComparisonUML-heap_delta"),
+ "TestPostComparisonUML-heap_delta.csv",
+ {
+ rollPeriod: 1,
+ showRoller: true,
+ customBars: true,
+ title: 'Test Post Comparison UML - heap delta',
+ ylabel: 'Heap delta (MiB)',
+ legend: 'always',
+ labelsDivStyles: { 'textAlign': 'right' }
+ }
+ ),
,];
</script>
diff --git a/performance/org.eclipse.emf.compare.tests.performance/src/data/models/Data.java b/performance/org.eclipse.emf.compare.tests.performance/src/data/models/Data.java
index 9076ea237..866f1381a 100644
--- a/performance/org.eclipse.emf.compare.tests.performance/src/data/models/Data.java
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/data/models/Data.java
@@ -18,24 +18,34 @@ import java.net.URL;
import java.util.Collections;
import java.util.List;
-import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.compare.ITypedElement;
+import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.emf.common.notify.Notifier;
import org.eclipse.emf.common.util.BasicMonitor;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.common.util.WrappedException;
import org.eclipse.emf.compare.Comparison;
+import org.eclipse.emf.compare.EMFCompare;
+import org.eclipse.emf.compare.conflict.DefaultConflictDetector;
+import org.eclipse.emf.compare.conflict.IConflictDetector;
+import org.eclipse.emf.compare.diagram.internal.CompareDiagramPostProcessor;
import org.eclipse.emf.compare.diff.DefaultDiffEngine;
import org.eclipse.emf.compare.diff.DiffBuilder;
import org.eclipse.emf.compare.diff.IDiffEngine;
import org.eclipse.emf.compare.diff.IDiffProcessor;
-import org.eclipse.emf.compare.match.DefaultComparisonFactory;
-import org.eclipse.emf.compare.match.DefaultEqualityHelperFactory;
+import org.eclipse.emf.compare.equi.DefaultEquiEngine;
+import org.eclipse.emf.compare.equi.IEquiEngine;
+import org.eclipse.emf.compare.ide.ui.internal.logical.ComparisonScopeBuilder;
import org.eclipse.emf.compare.match.DefaultMatchEngine;
-import org.eclipse.emf.compare.match.eobject.IEObjectMatcher;
+import org.eclipse.emf.compare.match.IMatchEngine;
+import org.eclipse.emf.compare.postprocessor.IPostProcessor;
+import org.eclipse.emf.compare.req.DefaultReqEngine;
+import org.eclipse.emf.compare.req.IReqEngine;
import org.eclipse.emf.compare.scope.DefaultComparisonScope;
import org.eclipse.emf.compare.scope.IComparisonScope;
-import org.eclipse.emf.compare.tests.performance.EMFComparePerformanceActivator;
+import org.eclipse.emf.compare.uml2.internal.postprocessor.UMLPostProcessor;
+import org.eclipse.emf.compare.utils.UseIdentifiers;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
@@ -93,13 +103,21 @@ public abstract class Data {
return resourceSet;
}
- public Comparison match(IEObjectMatcher matcher) {
- final IComparisonScope scope = new DefaultComparisonScope(getLeft(), loadRight(), loadAncestor());
- final DefaultMatchEngine matchEngine = new DefaultMatchEngine(matcher, new DefaultComparisonFactory(new DefaultEqualityHelperFactory()));
+ public void logicalModel(ITypedElement leftTypedElement, ITypedElement rightTypedElement) {
+ ComparisonScopeBuilder.create(null, leftTypedElement, rightTypedElement, null, new NullProgressMonitor());
+ }
+
+ public Comparison match() {
+ return match(UseIdentifiers.ONLY);
+ }
+
+ public Comparison match(UseIdentifiers useIDs) {
+ final IComparisonScope scope = new DefaultComparisonScope(getLeft(), getRight(), getAncestor());
+ final IMatchEngine matchEngine = DefaultMatchEngine.create(useIDs);
comparison = matchEngine.match(scope, new BasicMonitor());
return comparison;
}
-
+
public Comparison diff() {
final IDiffProcessor diffBuilder = new DiffBuilder();
final IDiffEngine diffEngine = new DefaultDiffEngine(diffBuilder);
@@ -107,6 +125,42 @@ public abstract class Data {
return comparison;
}
+ public void req() {
+ final IReqEngine reqEngine = new DefaultReqEngine();
+ reqEngine.computeRequirements(comparison, new BasicMonitor());
+ }
+
+ public void equi() {
+ final IEquiEngine equiEngine = new DefaultEquiEngine();
+ equiEngine.computeEquivalences(comparison, new BasicMonitor());
+ }
+
+ public void conflict() {
+ final IConflictDetector conflictDetector = new DefaultConflictDetector();
+ conflictDetector.detect(comparison, new BasicMonitor());
+ }
+
+ public void compare() {
+ final IComparisonScope scope = new DefaultComparisonScope(getLeft(), getRight(), getAncestor());
+ EMFCompare.builder().build().compare(scope);
+ }
+
+ public void postComparisonGMF() {
+ final IPostProcessor postProcessor = new CompareDiagramPostProcessor();
+ postProcessor.postComparison(comparison, new BasicMonitor());
+ }
+
+ public void postMatchUML() {
+ final IPostProcessor postProcessor = new UMLPostProcessor();
+ postProcessor.postMatch(comparison, new BasicMonitor());
+ }
+
+ public void postComparisonUML() {
+ final IPostProcessor postProcessor = new UMLPostProcessor();
+ postProcessor.postComparison(comparison, new BasicMonitor());
+ }
+
+
public void dispose() {
comparison = null;
for (ResourceSet rs : resourceSets) {
@@ -156,5 +210,4 @@ public abstract class Data {
return resource;
}
-
} \ No newline at end of file
diff --git a/performance/org.eclipse.emf.compare.tests.performance/src/data/models/StorageTypedElement.java b/performance/org.eclipse.emf.compare.tests.performance/src/data/models/StorageTypedElement.java
new file mode 100644
index 000000000..f9d45241a
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/data/models/StorageTypedElement.java
@@ -0,0 +1,79 @@
+/*******************************************************************************
+ * Copyright (c) 2013 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 data.models;
+
+import java.io.InputStream;
+
+import org.eclipse.compare.CompareUI;
+import org.eclipse.compare.IEncodedStreamContentAccessor;
+import org.eclipse.compare.ITypedElement;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IStorage;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.swt.graphics.Image;
+
+/** Mostly copied from org.eclipse.team.internal.ui.StorageTypedElement. */
+public class StorageTypedElement implements ITypedElement, IEncodedStreamContentAccessor, IAdaptable {
+ private final IStorage storage;
+
+ private final String fullPath;
+
+ public StorageTypedElement(IStorage storage, String fullPath) {
+ this.storage = storage;
+ this.fullPath = fullPath;
+ }
+
+ public StorageTypedElement(IFile file) {
+ this(file, file.getFullPath().toString());
+ }
+
+ public Object getAdapter(@SuppressWarnings("rawtypes") Class adapter) {
+ if (adapter == IStorage.class) {
+ return storage;
+ }
+ return storage.getAdapter(adapter);
+ }
+
+ public String getCharset() throws CoreException {
+ if (storage instanceof IEncodedStreamContentAccessor) {
+ return ((IEncodedStreamContentAccessor)storage).getCharset();
+ }
+ return null;
+ }
+
+ public InputStream getContents() throws CoreException {
+ return storage.getContents();
+ }
+
+ public Image getImage() {
+ return CompareUI.getImage(getType());
+ }
+
+ public String getName() {
+ return fullPath;
+ }
+
+ public String getType() {
+ String name = getName();
+ if (name != null) {
+ int index = name.lastIndexOf('.');
+ if (index == -1) {
+ return ""; //$NON-NLS-1$
+ }
+ if (index == (name.length() - 1)) {
+ return ""; //$NON-NLS-1$
+ }
+ return name.substring(index + 1);
+ }
+ return ITypedElement.FOLDER_TYPE;
+ }
+}
diff --git a/performance/org.eclipse.emf.compare.tests.performance/src/data/models/model_size_nominal/.project b/performance/org.eclipse.emf.compare.tests.performance/src/data/models/model_size_nominal/.project
new file mode 100644
index 000000000..a69743960
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/data/models/model_size_nominal/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>model_size_nominal</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription>
diff --git a/performance/org.eclipse.emf.compare.tests.performance/src/data/models/model_size_small/.project b/performance/org.eclipse.emf.compare.tests.performance/src/data/models/model_size_small/.project
new file mode 100644
index 000000000..e43455615
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/data/models/model_size_small/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>model_size_small</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription>
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 ad267256a..e76a99d34 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
@@ -10,6 +10,10 @@
*******************************************************************************/
package org.eclipse.emf.compare.tests.performance;
+import static com.google.common.collect.Iterables.concat;
+import static com.google.common.collect.Iterables.getFirst;
+import static com.google.common.collect.Iterables.transform;
+
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
@@ -51,10 +55,6 @@ import fr.obeo.performance.Scenario;
import fr.obeo.performance.TestResult;
import fr.obeo.performance.api.Performance;
-import static com.google.common.collect.Iterables.concat;
-import static com.google.common.collect.Iterables.getFirst;
-import static com.google.common.collect.Iterables.transform;
-
/**
* @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a>
*
diff --git a/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/PerformanceSuite.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/PerformanceSuite.java
index bfb5c2f44..d35d0bb93 100644
--- a/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/PerformanceSuite.java
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/PerformanceSuite.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011 Obeo. All rights reserved. This program and the
+ * Copyright (c) 2011, 2014 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
@@ -14,8 +14,15 @@ import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
@SuiteClasses({
- TestMatch.class,
+ TestMatchId.class,
+ TestMatchContent.class,
TestDiff.class,
+ TestReq.class,
+ TestEqui.class,
+ TestConflict.class,
+ TestCompare.class,
+ TestPostMatchUML.class,
+ TestPostComparisonUML.class
})
public class PerformanceSuite {
diff --git a/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestCompare.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestCompare.java
new file mode 100644
index 000000000..52422daff
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestCompare.java
@@ -0,0 +1,76 @@
+/*******************************************************************************
+ * Copyright (c) 2014 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 java.io.IOException;
+
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runners.MethodSorters;
+
+import data.models.Data;
+import data.models.LargeInputData;
+import data.models.NominalInputData;
+import data.models.SmallInputData;
+import fr.obeo.performance.api.PerformanceMonitor;
+
+/**
+ * @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a>
+ *
+ */
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestCompare extends AbstractEMFComparePerformanceTest {
+
+ /**
+ * {@inheritDoc}
+ * @see org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest#setSUTName()
+ */
+ @Override
+ protected void setSUTName() {
+ getPerformance().getSystemUnderTest().setName(TestCompare.class.getSimpleName());
+ }
+
+ @Test
+ public void a_compareUMLSmall() {
+ PerformanceMonitor monitor = getPerformance().createMonitor("compareUMLSmall");
+ final Data data = new SmallInputData();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.compare();
+ }
+ });
+ data.dispose();
+ }
+
+ @Test
+ public void b_compareUMLNominal() throws IOException {
+ PerformanceMonitor monitor = getPerformance().createMonitor("compareUMLNominal");
+ final Data data = new NominalInputData();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.compare();
+ }
+ });
+ data.dispose();
+ }
+
+ @Test
+ public void c_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/TestConflict.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestConflict.java
new file mode 100644
index 000000000..2dd463790
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestConflict.java
@@ -0,0 +1,89 @@
+/*******************************************************************************
+ * Copyright (c) 2014 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 java.io.IOException;
+
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runners.MethodSorters;
+
+import data.models.Data;
+import data.models.LargeInputData;
+import data.models.NominalInputData;
+import data.models.SmallInputData;
+import fr.obeo.performance.api.PerformanceMonitor;
+
+/**
+ * @author <a href="mailto:axel.richard@obeo.fr">Axel Richard</a>
+ *
+ */
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestConflict extends AbstractEMFComparePerformanceTest {
+
+ /**
+ * {@inheritDoc}
+ * @see org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest#setSUTName()
+ */
+ @Override
+ protected void setSUTName() {
+ getPerformance().getSystemUnderTest().setName(TestConflict.class.getSimpleName());
+ }
+
+ @Test
+ public void a_conflictUMLSmall() {
+ PerformanceMonitor monitor = getPerformance().createMonitor("conflictUMLSmall");
+ final Data data = new SmallInputData();
+ data.match();
+ data.diff();
+ data.req();
+ data.equi();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.conflict();
+ }
+ });
+ data.dispose();
+ }
+
+ @Test
+ public void b_conflictUMLNominal() throws IOException {
+ PerformanceMonitor monitor = getPerformance().createMonitor("conflictUMLNominal");
+ final Data data = new NominalInputData();
+ data.match();
+ data.diff();
+ data.req();
+ data.equi();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.conflict();
+ }
+ });
+ data.dispose();
+ }
+
+ @Test
+ public void c_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/TestDiff.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestDiff.java
index bbfcab550..c098d7713 100644
--- a/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestDiff.java
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestDiff.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2012 Obeo.
+ * Copyright (c) 2012, 2014 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
@@ -12,8 +12,9 @@ package org.eclipse.emf.compare.tests.performance;
import java.io.IOException;
-import org.eclipse.emf.compare.match.eobject.IdentifierEObjectMatcher;
+import org.junit.FixMethodOrder;
import org.junit.Test;
+import org.junit.runners.MethodSorters;
import data.models.Data;
import data.models.LargeInputData;
@@ -25,6 +26,7 @@ import fr.obeo.performance.api.PerformanceMonitor;
* @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a>
*
*/
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class TestDiff extends AbstractEMFComparePerformanceTest {
@@ -38,10 +40,10 @@ public class TestDiff extends AbstractEMFComparePerformanceTest {
}
@Test
- public void diffUMLSmall() {
- PerformanceMonitor monitor = getPerformance().createMonitor("matchUMLSmall");
+ public void a_diffUMLSmall() {
+ PerformanceMonitor monitor = getPerformance().createMonitor("diffUMLSmall");
final Data data = new SmallInputData();
- data.match(new IdentifierEObjectMatcher());
+ data.match();
monitor.measure(warmup(), getStepsNumber(), new Runnable() {
public void run() {
data.diff();
@@ -51,10 +53,10 @@ public class TestDiff extends AbstractEMFComparePerformanceTest {
}
@Test
- public void diffUMLNominal() throws IOException {
- PerformanceMonitor monitor = getPerformance().createMonitor("matchUMLNominal");
+ public void b_diffUMLNominal() throws IOException {
+ PerformanceMonitor monitor = getPerformance().createMonitor("diffUMLNominal");
final Data data = new NominalInputData();
- data.match(new IdentifierEObjectMatcher());
+ data.match();
monitor.measure(warmup(), getStepsNumber(), new Runnable() {
public void run() {
data.diff();
@@ -64,10 +66,10 @@ public class TestDiff extends AbstractEMFComparePerformanceTest {
}
@Test
- public void diffUMLLarge() throws IOException {
- PerformanceMonitor monitor = getPerformance().createMonitor("matchUMLLarge");
+ public void c_diffUMLLarge() throws IOException {
+ PerformanceMonitor monitor = getPerformance().createMonitor("diffUMLLarge");
final Data data = new LargeInputData();
- data.match(new IdentifierEObjectMatcher());
+ data.match();
monitor.measure(warmup(), getStepsNumber(), new Runnable() {
public void run() {
data.diff();
diff --git a/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestEqui.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestEqui.java
new file mode 100644
index 000000000..0a5336abf
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestEqui.java
@@ -0,0 +1,83 @@
+/*******************************************************************************
+ * Copyright (c) 2014 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 java.io.IOException;
+
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runners.MethodSorters;
+
+import data.models.Data;
+import data.models.LargeInputData;
+import data.models.NominalInputData;
+import data.models.SmallInputData;
+import fr.obeo.performance.api.PerformanceMonitor;
+
+/**
+ * @author <a href="mailto:axel.richard@obeo.fr">Axel Richard</a>
+ *
+ */
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestEqui extends AbstractEMFComparePerformanceTest {
+
+ /**
+ * {@inheritDoc}
+ * @see org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest#setSUTName()
+ */
+ @Override
+ protected void setSUTName() {
+ getPerformance().getSystemUnderTest().setName(TestEqui.class.getSimpleName());
+ }
+
+ @Test
+ public void a_equiUMLSmall() {
+ PerformanceMonitor monitor = getPerformance().createMonitor("equiUMLSmall");
+ final Data data = new SmallInputData();
+ data.match();
+ data.diff();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.equi();
+ }
+ });
+ data.dispose();
+ }
+
+ @Test
+ public void b_equiUMLNominal() throws IOException {
+ PerformanceMonitor monitor = getPerformance().createMonitor("equiUMLNominal");
+ final Data data = new NominalInputData();
+ data.match();
+ data.diff();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.equi();
+ }
+ });
+ data.dispose();
+ }
+
+ @Test
+ public void c_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/TestLogicalModel.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestLogicalModel.java
new file mode 100644
index 000000000..ad6ae7a4a
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestLogicalModel.java
@@ -0,0 +1,98 @@
+/*******************************************************************************
+ * Copyright (c) 2014 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.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.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runners.MethodSorters;
+
+import data.models.Data;
+import data.models.SmallInputData;
+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 TestLogicalModel extends AbstractEMFComparePerformanceTest {
+
+ /**
+ * {@inheritDoc}
+ * @see org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest#setSUTName()
+ */
+ @Override
+ protected void setSUTName() {
+ getPerformance().getSystemUnderTest().setName(TestLogicalModel.class.getSimpleName());
+ }
+
+ @Test
+ public void a_logicalModelUMLSmall() {
+ try {
+ PerformanceMonitor monitor = getPerformance().createMonitor("logicalModelUMLSmall");
+ final Data data = new SmallInputData();
+ String baseDir = "D:/git/compare2/org.eclipse.emf.compare/performance/org.eclipse.emf.compare.tests.performance/src/data/models/model_size_small";// location of files to import
+ IProjectDescription description = ResourcesPlugin.getWorkspace().loadProjectDescription(new Path(baseDir + "/.project"));
+ 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();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Test
+ public void b_logicalModelUMLNominal() {
+ try {
+ PerformanceMonitor monitor = getPerformance().createMonitor("logicalModelUMLNominal");
+ final Data data = new SmallInputData();
+ String baseDir = "D:/git/compare2/org.eclipse.emf.compare/performance/org.eclipse.emf.compare.tests.performance/src/data/models/model_size_nominal";// location of files to import
+ IProjectDescription description = ResourcesPlugin.getWorkspace().loadProjectDescription(new Path(baseDir + "/.project"));
+ 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();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestMatchContent.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestMatchContent.java
new file mode 100644
index 000000000..9bd7ae447
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestMatchContent.java
@@ -0,0 +1,77 @@
+/*******************************************************************************
+ * Copyright (c) 2014 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 java.io.IOException;
+
+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 data.models.NominalInputData;
+import data.models.SmallInputData;
+import fr.obeo.performance.api.PerformanceMonitor;
+
+/**
+ * @author <a href="mailto:axel.richard@obeo.fr">Axel Richard</a>
+ *
+ */
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestMatchContent extends AbstractEMFComparePerformanceTest {
+
+ /**
+ * {@inheritDoc}
+ * @see org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest#setSUTName()
+ */
+ @Override
+ protected void setSUTName() {
+ getPerformance().getSystemUnderTest().setName(TestMatchContent.class.getSimpleName());
+ }
+
+ @Test
+ public void a_matchContentUMLSmall() {
+ PerformanceMonitor monitor = getPerformance().createMonitor("matchContentUMLSmall");
+ final Data data = new SmallInputData();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.match(UseIdentifiers.NEVER);
+ }
+ });
+ data.dispose();
+ }
+
+ @Test
+ public void b_matchContentUMLNominal() throws IOException {
+ PerformanceMonitor monitor = getPerformance().createMonitor("matchContentUMLNominal");
+ final Data data = new NominalInputData();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.match(UseIdentifiers.NEVER);
+ }
+ });
+ data.dispose();
+ }
+
+ @Test
+ public void c_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/TestMatch.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestMatchId.java
index 536632b23..2be92fe10 100644
--- a/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestMatch.java
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestMatchId.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2012 Obeo.
+ * Copyright (c) 2014 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
@@ -10,10 +10,10 @@
*******************************************************************************/
package org.eclipse.emf.compare.tests.performance;
-import java.io.IOException;
-
-import org.eclipse.emf.compare.match.eobject.IdentifierEObjectMatcher;
+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;
@@ -25,7 +25,8 @@ import fr.obeo.performance.api.PerformanceMonitor;
* @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a>
*
*/
-public class TestMatch extends AbstractEMFComparePerformanceTest {
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestMatchId extends AbstractEMFComparePerformanceTest {
/**
* {@inheritDoc}
@@ -33,40 +34,40 @@ public class TestMatch extends AbstractEMFComparePerformanceTest {
*/
@Override
protected void setSUTName() {
- getPerformance().getSystemUnderTest().setName(TestMatch.class.getSimpleName());
+ getPerformance().getSystemUnderTest().setName(TestMatchId.class.getSimpleName());
}
@Test
- public void matchUMLSmall() {
- PerformanceMonitor monitor = getPerformance().createMonitor("matchUMLSmall");
+ public void a_matchIdUMLSmall() {
+ PerformanceMonitor monitor = getPerformance().createMonitor("matchIdUMLSmall");
final Data data = new SmallInputData();
monitor.measure(warmup(), getStepsNumber(), new Runnable() {
public void run() {
- data.match(new IdentifierEObjectMatcher());
+ data.match(UseIdentifiers.ONLY);
}
});
data.dispose();
}
@Test
- public void matchUMLNominal() throws IOException {
- PerformanceMonitor monitor = getPerformance().createMonitor("matchUMLNominal");
+ public void b_matchIdUMLNominal() {
+ PerformanceMonitor monitor = getPerformance().createMonitor("matchIdUMLNominal");
final Data data = new NominalInputData();
monitor.measure(warmup(), getStepsNumber(), new Runnable() {
public void run() {
- data.match(new IdentifierEObjectMatcher());
+ data.match(UseIdentifiers.ONLY);
}
});
data.dispose();
}
@Test
- public void matchUMLLarge() throws IOException {
- PerformanceMonitor monitor = getPerformance().createMonitor("matchUMLLarge");
+ public void c_matchIdUMLLarge() {
+ PerformanceMonitor monitor = getPerformance().createMonitor("matchIdUMLLarge");
final Data data = new LargeInputData();
monitor.measure(warmup(), getStepsNumber(), new Runnable() {
public void run() {
- data.match(new IdentifierEObjectMatcher());
+ data.match(UseIdentifiers.ONLY);
}
});
data.dispose();
diff --git a/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestPostComparisonGMF.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestPostComparisonGMF.java
new file mode 100644
index 000000000..de5195d85
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestPostComparisonGMF.java
@@ -0,0 +1,91 @@
+/*******************************************************************************
+ * Copyright (c) 2014 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 java.io.IOException;
+
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runners.MethodSorters;
+
+import data.models.Data;
+import data.models.LargeInputData;
+import data.models.NominalInputData;
+import data.models.SmallInputData;
+import fr.obeo.performance.api.PerformanceMonitor;
+
+/**
+ * @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a>
+ *
+ */
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestPostComparisonGMF extends AbstractEMFComparePerformanceTest {
+
+ /**
+ * {@inheritDoc}
+ * @see org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest#setSUTName()
+ */
+ @Override
+ protected void setSUTName() {
+ getPerformance().getSystemUnderTest().setName(TestPostComparisonGMF.class.getSimpleName());
+ }
+
+ @Test
+ public void a_pcGMFUMLSmall() {
+ PerformanceMonitor monitor = getPerformance().createMonitor("pcGMFUMLSmall");
+ final Data data = new SmallInputData();
+ data.match();
+ data.diff();
+ data.req();
+ data.equi();
+ data.conflict();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.postComparisonGMF();
+ }
+ });
+ data.dispose();
+ }
+
+ @Test
+ public void b_pcGMFUMLNominal() throws IOException {
+ PerformanceMonitor monitor = getPerformance().createMonitor("pcGMFUMLNominal");
+ final Data data = new NominalInputData();
+ data.match();
+ data.diff();
+ data.req();
+ data.equi();
+ data.conflict();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.postComparisonGMF();
+ }
+ });
+ data.dispose();
+ }
+
+ @Test
+ public void c_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/TestPostComparisonUML.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestPostComparisonUML.java
new file mode 100644
index 000000000..005997931
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestPostComparisonUML.java
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ * Copyright (c) 2014 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 java.io.IOException;
+
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runners.MethodSorters;
+
+import data.models.Data;
+import data.models.LargeInputData;
+import data.models.NominalInputData;
+import data.models.SmallInputData;
+import fr.obeo.performance.api.PerformanceMonitor;
+
+/**
+ * @author <a href="mailto:axel.richard@obeo.fr">Axel Richard</a>
+ *
+ */
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestPostComparisonUML extends AbstractEMFComparePerformanceTest {
+
+ /**
+ * {@inheritDoc}
+ * @see org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest#setSUTName()
+ */
+ @Override
+ protected void setSUTName() {
+ getPerformance().getSystemUnderTest().setName(TestPostComparisonUML.class.getSimpleName());
+ }
+
+ @Test
+ public void a_pcUMLUMLSmall() {
+ PerformanceMonitor monitor = getPerformance().createMonitor("pcUMLUMLSmall");
+ final Data data = new SmallInputData();
+ data.match();
+ data.postMatchUML();
+ data.diff();
+ data.req();
+ data.equi();
+ data.conflict();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.postComparisonGMF();
+ }
+ });
+ data.dispose();
+ }
+
+ @Test
+ public void b_pcUMLUMLNominal() throws IOException {
+ PerformanceMonitor monitor = getPerformance().createMonitor("pcUMLUMLNominal");
+ final Data data = new NominalInputData();
+ data.match();
+ data.postMatchUML();
+ data.diff();
+ data.req();
+ data.equi();
+ data.conflict();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.postComparisonGMF();
+ }
+ });
+ data.dispose();
+ }
+
+ @Test
+ public void c_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.postComparisonGMF();
+ }
+ });
+ data.dispose();
+ }
+}
diff --git a/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestPostMatchUML.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestPostMatchUML.java
new file mode 100644
index 000000000..da479fc09
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestPostMatchUML.java
@@ -0,0 +1,79 @@
+/*******************************************************************************
+ * Copyright (c) 2014 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 java.io.IOException;
+
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runners.MethodSorters;
+
+import data.models.Data;
+import data.models.LargeInputData;
+import data.models.NominalInputData;
+import data.models.SmallInputData;
+import fr.obeo.performance.api.PerformanceMonitor;
+
+/**
+ * @author <a href="mailto:axel.richard@obeo.fr">Axel Richard</a>
+ *
+ */
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestPostMatchUML extends AbstractEMFComparePerformanceTest {
+
+ /**
+ * {@inheritDoc}
+ * @see org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest#setSUTName()
+ */
+ @Override
+ protected void setSUTName() {
+ getPerformance().getSystemUnderTest().setName(TestPostMatchUML.class.getSimpleName());
+ }
+
+ @Test
+ public void a_pmUMLUMLSmall() {
+ PerformanceMonitor monitor = getPerformance().createMonitor("pmUMLUMLSmall");
+ final Data data = new SmallInputData();
+ data.match();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.postMatchUML();
+ }
+ });
+ data.dispose();
+ }
+
+ @Test
+ public void b_pmUMLUMLNominal() throws IOException {
+ PerformanceMonitor monitor = getPerformance().createMonitor("pmUMLUMLNominal");
+ final Data data = new NominalInputData();
+ data.match();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.postMatchUML();
+ }
+ });
+ data.dispose();
+ }
+
+ @Test
+ public void c_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/TestReq.java b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestReq.java
new file mode 100644
index 000000000..3349438bf
--- /dev/null
+++ b/performance/org.eclipse.emf.compare.tests.performance/src/org/eclipse/emf/compare/tests/performance/TestReq.java
@@ -0,0 +1,83 @@
+/*******************************************************************************
+ * Copyright (c) 2014 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 java.io.IOException;
+
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runners.MethodSorters;
+
+import data.models.Data;
+import data.models.LargeInputData;
+import data.models.NominalInputData;
+import data.models.SmallInputData;
+import fr.obeo.performance.api.PerformanceMonitor;
+
+/**
+ * @author <a href="mailto:axel.richard@obeo.fr">Axel Richard</a>
+ *
+ */
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestReq extends AbstractEMFComparePerformanceTest {
+
+ /**
+ * {@inheritDoc}
+ * @see org.eclipse.emf.compare.tests.performance.AbstractEMFComparePerformanceTest#setSUTName()
+ */
+ @Override
+ protected void setSUTName() {
+ getPerformance().getSystemUnderTest().setName(TestReq.class.getSimpleName());
+ }
+
+ @Test
+ public void a_reqUMLSmall() {
+ PerformanceMonitor monitor = getPerformance().createMonitor("reqUMLSmall");
+ final Data data = new SmallInputData();
+ data.match();
+ data.diff();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.req();
+ }
+ });
+ data.dispose();
+ }
+
+ @Test
+ public void b_reqUMLNominal() throws IOException {
+ PerformanceMonitor monitor = getPerformance().createMonitor("reqUMLNominal");
+ final Data data = new NominalInputData();
+ data.match();
+ data.diff();
+ monitor.measure(warmup(), getStepsNumber(), new Runnable() {
+ public void run() {
+ data.req();
+ }
+ });
+ data.dispose();
+ }
+
+ @Test
+ public void c_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