EMF Performance: EMF 2.0.1 vs. EMF 2.1.0 RC1

  EMF Load and Save

EMF Load and Save tests 
Significant1
Changes##Test

28.4%01DynamicIpo#testSer
52.4%02DynamicIpo#testSerCaching 2
27.5%03StaticIpo#testSer
50.8%04StaticIpo#testSerCaching 2
05DynamicIpoLoad#testLoad
10.6%06DynamicIpoLoad#testLoadParserCache
7.4%07DynamicIpoLoad#testLoadParserAndFeatureMapCache
08StaticIpoLoad#testLoad
8.8%09StaticIpoLoad#testLoadParserCache
5.8%10StaticIpoLoad#testLoadParserAndFeatureMapCache

  SDO Load and Save

SDO Load and Save tests 
Significant1
Changes##Test

22.2%11DynamicIPOSDOSaveTest#saveWithNoOptions
46.8%12DynamicIPOSDOSaveTest#saveWithCaching 2
20.6%13StaticIPOSDOSaveTest#saveWithNoOptions
45.9%14StaticIPOSDOSaveTest#saveWithCaching 2
15DynamicIPOSDOLoadTest#loadWithNoOptions
16DynamicIPOSDOLoadTest#loadWithParserCache
17DynamicIPOSDOLoadTest#loadWithParserAndFeatureMapCache
18StaticIPOSDOLoadTest#loadWithNoOptions
19StaticIPOSDOLoadTest#loadWithParserCache
20StaticIPOSDOLoadTest#loadWithParserAndFeatureMapCache

  Save

Save tests 
Significant1
Changes##Test

28.4%01DynamicIpo#testSer
52.4%02DynamicIpo#testSerCaching 2
27.5%03StaticIpo#testSer
50.8%04StaticIpo#testSerCaching 2
22.2%11DynamicIPOSDOSaveTest#saveWithNoOptions
46.8%12DynamicIPOSDOSaveTest#saveWithCaching 2
20.6%13StaticIPOSDOSaveTest#saveWithNoOptions
45.9%14StaticIPOSDOSaveTest#saveWithCaching 2

  Load

Load tests 
Significant1
Changes##Test

05DynamicIpoLoad#testLoad
10.6%06DynamicIpoLoad#testLoadParserCache
7.4%07DynamicIpoLoad#testLoadParserAndFeatureMapCache
08StaticIpoLoad#testLoad
8.8%09StaticIpoLoad#testLoadParserCache
5.8%10StaticIpoLoad#testLoadParserAndFeatureMapCache
15DynamicIPOSDOLoadTest#loadWithNoOptions
16DynamicIPOSDOLoadTest#loadWithParserCache
17DynamicIPOSDOLoadTest#loadWithParserAndFeatureMapCache
18StaticIPOSDOLoadTest#loadWithNoOptions
19StaticIPOSDOLoadTest#loadWithParserCache
20StaticIPOSDOLoadTest#loadWithParserAndFeatureMapCache

  Static IPO Access

Static IPO Access tests 
Significant1
Changes##Test

75StaticIPOSDOAccessorTest#getByGenerated
76StaticIPOSDOAccessorTest#setByGenerated
26.1%77StaticIPOSDOAccessorTest#getByProperty
78StaticIPOSDOAccessorTest#setByProperty
26.5%79StaticIPOSDOAccessorTest#getByShortPath
80StaticIPOSDOAccessorTest#setByShortPath

  Dynamic IPO Access

Dynamic IPO Access tests 
Significant1
Changes##Test

25.9%50DynamicIPOSDOAccessorTest#getByProperty
-6%51DynamicIPOSDOAccessorTest#setByProperty
20.2%52DynamicIPOSDOAccessorTest#getByShortPath
53DynamicIPOSDOAccessorTest#setByShortPath

  Sequence/FeatureMap

Sequence/FeatureMap tests 
Significant1
Changes##Test

23StaticSequenceTest#getSequenceByGenerated
20.8%24StaticSequenceTest#getDerivedByGenerated
25StaticSequenceTest#getSequenceWithEGet
23.3%26StaticSequenceTest#getDerivedWithEGet
24.1%27StaticSequenceTest#getSequence
23.2%28StaticSequenceTest#getDerived

  Bidirectional Set

Bidirectional Set tests 
Significant1
Changes##Test

10.7%30StaticBidirectionalTest#setAdaptedByGenerated
31StaticBidirectionalTest#setByGenerated
32StaticBidirectionalTest#setWithESet
57StaticIPOSDOAccessorTest#setObjectWithESet

  Dynamic Access (1)

Dynamic Access (1) tests 
Significant1
Changes##Test

14.8%33DynamicIPOSDOAccessorTest#getObjectWithEGet
15.6%34DynamicIPOSDOAccessorTest#setObjectWithESet
29.6%35DynamicIPOSDOAccessorTest#getObjectByProperty
12.9%36DynamicIPOSDOAccessorTest#setObjectByProperty
42.2%37DynamicIPOSDOAccessorTest#getObjectByIndex
20.6%38DynamicIPOSDOAccessorTest#setObjectByIndex
30.5%39DynamicIPOSDOAccessorTest#getBigIntegerByProperty
7.7%40DynamicIPOSDOAccessorTest#setBigIntegerByProperty
41.9%41DynamicIPOSDOAccessorTest#getBigIntegerByIndex
21.1%42DynamicIPOSDOAccessorTest#setBigIntegerByIndex
13%43DynamicIPOSDOAccessorTest#getBigIntegerByPath
30.2%44DynamicIPOSDOAccessorTest#getBigDecimalByProperty
34.6%45DynamicIPOSDOAccessorTest#getBigDecimalByIndex
11.3%46DynamicIPOSDOAccessorTest#getBigDecimalByPath
22.9%47DynamicIPOSDOAccessorTest#getStringByShortPath
22.8%48DynamicIPOSDOAccessorTest#getDataObjectByProperty
49DynamicIPOSDOAccessorTest#setDataObjectByProperty

  Dynamic Access (2)

Dynamic Access (2) tests 
Significant1
Changes##Test

14.8%33DynamicIPOSDOAccessorTest#getObjectWithEGet
15.6%34DynamicIPOSDOAccessorTest#setObjectWithESet
29.6%35DynamicIPOSDOAccessorTest#getObjectByProperty
12.9%36DynamicIPOSDOAccessorTest#setObjectByProperty
42.2%37DynamicIPOSDOAccessorTest#getObjectByIndex
20.6%38DynamicIPOSDOAccessorTest#setObjectByIndex
30.5%39DynamicIPOSDOAccessorTest#getBigIntegerByProperty
7.7%40DynamicIPOSDOAccessorTest#setBigIntegerByProperty
41.9%41DynamicIPOSDOAccessorTest#getBigIntegerByIndex
21.1%42DynamicIPOSDOAccessorTest#setBigIntegerByIndex
30.2%44DynamicIPOSDOAccessorTest#getBigDecimalByProperty
34.6%45DynamicIPOSDOAccessorTest#getBigDecimalByIndex
22.9%47DynamicIPOSDOAccessorTest#getStringByShortPath
22.8%48DynamicIPOSDOAccessorTest#getDataObjectByProperty

  Static Access (1)

Static Access (1) tests 
Significant1
Changes##Test

54StaticIPOSDOAccessorTest#getFromMap
55StaticIPOSDOAccessorTest#setInMap
56StaticIPOSDOAccessorTest#getObjectWithEGet
57StaticIPOSDOAccessorTest#setObjectWithESet
33.5%58StaticIPOSDOAccessorTest#getObjectByProperty
59StaticIPOSDOAccessorTest#setObjectByProperty
40.4%60StaticIPOSDOAccessorTest#getObjectByIndex
28.1%61StaticIPOSDOAccessorTest#setObjectByIndex
62StaticIPOSDOAccessorTest#getBigIntegerByGenerated
63StaticIPOSDOAccessorTest#setBigIntegerByGenerated
34.1%64StaticIPOSDOAccessorTest#getBigIntegerByProperty
65StaticIPOSDOAccessorTest#setBigIntegerByProperty
41.7%66StaticIPOSDOAccessorTest#getBigIntegerByIndex
24.8%67StaticIPOSDOAccessorTest#setBigIntegerByIndex
16.7%68StaticIPOSDOAccessorTest#getBigIntegerByPath
43.6%69StaticIPOSDOAccessorTest#getBigDecimalByProperty
32%70StaticIPOSDOAccessorTest#getBigDecimalByIndex
13.6%71StaticIPOSDOAccessorTest#getBigDecimalByPath
36.7%72StaticIPOSDOAccessorTest#getStringByShortPath
20.3%73StaticIPOSDOAccessorTest#getDataObjectByProperty
74StaticIPOSDOAccessorTest#setDataObjectByProperty

  Static Access (2)

Static Access (2) tests 
Significant1
Changes##Test

54StaticIPOSDOAccessorTest#getFromMap
55StaticIPOSDOAccessorTest#setInMap
56StaticIPOSDOAccessorTest#getObjectWithEGet
57StaticIPOSDOAccessorTest#setObjectWithESet
33.5%58StaticIPOSDOAccessorTest#getObjectByProperty
59StaticIPOSDOAccessorTest#setObjectByProperty
40.4%60StaticIPOSDOAccessorTest#getObjectByIndex
28.1%61StaticIPOSDOAccessorTest#setObjectByIndex
62StaticIPOSDOAccessorTest#getBigIntegerByGenerated
63StaticIPOSDOAccessorTest#setBigIntegerByGenerated
34.1%64StaticIPOSDOAccessorTest#getBigIntegerByProperty
65StaticIPOSDOAccessorTest#setBigIntegerByProperty
41.7%66StaticIPOSDOAccessorTest#getBigIntegerByIndex
24.8%67StaticIPOSDOAccessorTest#setBigIntegerByIndex
43.6%69StaticIPOSDOAccessorTest#getBigDecimalByProperty
32%70StaticIPOSDOAccessorTest#getBigDecimalByIndex
20.3%73StaticIPOSDOAccessorTest#getDataObjectByProperty

  Getters

Getters tests 
Significant1
Changes##Test

14.8%33DynamicIPOSDOAccessorTest#getObjectWithEGet
29.6%35DynamicIPOSDOAccessorTest#getObjectByProperty
42.2%37DynamicIPOSDOAccessorTest#getObjectByIndex
56StaticIPOSDOAccessorTest#getObjectWithEGet
33.5%58StaticIPOSDOAccessorTest#getObjectByProperty
40.4%60StaticIPOSDOAccessorTest#getObjectByIndex

  Setters

Setters tests 
Significant1
Changes##Test

15.6%34DynamicIPOSDOAccessorTest#setObjectWithESet
12.9%36DynamicIPOSDOAccessorTest#setObjectByProperty
20.6%38DynamicIPOSDOAccessorTest#setObjectByIndex
57StaticIPOSDOAccessorTest#setObjectWithESet
59StaticIPOSDOAccessorTest#setObjectByProperty
28.1%61StaticIPOSDOAccessorTest#setObjectByIndex

  Open Content

Open Content tests 
Significant1
Changes##Test

72.8%21OpenContentTest#demandFeature
47.9%22OpenContentTest#createDemandFeatureDO

  All Test Methods

 
2.0.12.1.0Significant1
AvgStdv%AvgStdv%Changes##Test

2482.9%177.52%28.4%01DynamicIpo#testSer
2482.9%1182.2%52.4%02DynamicIpo#testSerCaching 2
230.51.2%1671.5%27.5%03StaticIpo#testSer
230.51.2%113.52.1%50.8%04StaticIpo#testSerCaching 2
17670.4%17120.6%05DynamicIpoLoad#testLoad
708.50.7%633.51.1%10.6%06DynamicIpoLoad#testLoadParserCache
581.50.6%538.51.5%7.4%07DynamicIpoLoad#testLoadParserAndFeatureMapCache
17460.3%17000.3%08StaticIpoLoad#testLoad
690.50.7%6301%8.8%09StaticIpoLoad#testLoadParserCache
5710.8%5381%5.8%10StaticIpoLoad#testLoadParserAndFeatureMapCache
303.61.7%236.22.2%22.2%11DynamicIPOSDOSaveTest#saveWithNoOptions
303.61.7%161.41.9%46.8%12DynamicIPOSDOSaveTest#saveWithCaching 2
296.31.5%235.22%20.6%13StaticIPOSDOSaveTest#saveWithNoOptions
296.31.5%160.22.3%45.9%14StaticIPOSDOSaveTest#saveWithCaching 2
17880.5%17990.5%15DynamicIPOSDOLoadTest#loadWithNoOptions
693.51.1%6970.9%16DynamicIPOSDOLoadTest#loadWithParserCache
5820.8%6031.4%17DynamicIPOSDOLoadTest#loadWithParserAndFeatureMapCache
17680.6%17860.5%18StaticIPOSDOLoadTest#loadWithNoOptions
6731.2%6870.9%19StaticIPOSDOLoadTest#loadWithParserCache
567.50.7%595.51.3%20StaticIPOSDOLoadTest#loadWithParserAndFeatureMapCache
65461.2%v17792%72.8%21OpenContentTest#demandFeature
27521.1%^14341.2%47.9%22OpenContentTest#createDemandFeatureDO
0.007092%0.007081.7%23StaticSequenceTest#getSequenceByGenerated
0.24862.7%0.1973.7%20.8%24StaticSequenceTest#getDerivedByGenerated
0.035630.7%0.03630.2%25StaticSequenceTest#getSequenceWithEGet
0.29333.4%0.2252.8%23.3%26StaticSequenceTest#getDerivedWithEGet
0.15932%^0.1212.1%^24.1%27StaticSequenceTest#getSequence
0.22715.6%0.17444.8%23.2%28StaticSequenceTest#getDerived
1.4771.5%1.3415.3%^9.2%29StaticSequenceTest#contains
1.6672.5%^1.4892.6%10.7%30StaticBidirectionalTest#setAdaptedByGenerated
5.1674.7%^5.2275.4%^31StaticBidirectionalTest#setByGenerated
5.2197.3%^5.2947%^32StaticBidirectionalTest#setWithESet
0.117614.8%^0.10022.6%^14.8%33DynamicIPOSDOAccessorTest#getObjectWithEGet
0.19649.6%0.16587.1%^15.6%34DynamicIPOSDOAccessorTest#setObjectWithESet
0.23986.8%^0.16884.4%29.6%35DynamicIPOSDOAccessorTest#getObjectByProperty
0.19067.3%0.1664.6%12.9%36DynamicIPOSDOAccessorTest#setObjectByProperty
0.26796%0.15494.9%^42.2%37DynamicIPOSDOAccessorTest#getObjectByIndex
0.20146.6%0.166.2%^20.6%38DynamicIPOSDOAccessorTest#setObjectByIndex
0.25427.3%^0.17684.4%30.5%39DynamicIPOSDOAccessorTest#getBigIntegerByProperty
0.40785.9%0.37634.6%7.7%40DynamicIPOSDOAccessorTest#setBigIntegerByProperty
0.27287.5%0.15863.2%^41.9%41DynamicIPOSDOAccessorTest#getBigIntegerByIndex
0.2184.8%0.1724.3%21.1%42DynamicIPOSDOAccessorTest#setBigIntegerByIndex
3.4651.6%3.0161.4%13%43DynamicIPOSDOAccessorTest#getBigIntegerByPath
0.49188.1%0.34336.9%30.2%44DynamicIPOSDOAccessorTest#getBigDecimalByProperty
0.53867.3%0.35248.8%34.6%45DynamicIPOSDOAccessorTest#getBigDecimalByIndex
4.2451.9%^3.7671.9%11.3%46DynamicIPOSDOAccessorTest#getBigDecimalByPath
0.32925.7%0.2547.8%^22.9%47DynamicIPOSDOAccessorTest#getStringByShortPath
0.27916.4%0.21553.6%^22.8%48DynamicIPOSDOAccessorTest#getDataObjectByProperty
1.3275.7%1.3184.1%^49DynamicIPOSDOAccessorTest#setDataObjectByProperty
6.8285.8%^5.0613.6%25.9%50DynamicIPOSDOAccessorTest#getByProperty
26.856.9%28.349.9%^-6%51DynamicIPOSDOAccessorTest#setByProperty
13.083.9%10.4411.6%^20.2%52DynamicIPOSDOAccessorTest#getByShortPath
27.72.3%26.934.6%^53DynamicIPOSDOAccessorTest#setByShortPath
0.033237.3%^0.033086.9%54StaticIPOSDOAccessorTest#getFromMap
0.032237.1%^0.03163%^55StaticIPOSDOAccessorTest#setInMap
0.027030.8%0.027830.7%56StaticIPOSDOAccessorTest#getObjectWithEGet
0.033196%^0.033150.7%^57StaticIPOSDOAccessorTest#setObjectWithESet
0.14155.8%^0.094118.2%^33.5%58StaticIPOSDOAccessorTest#getObjectByProperty
0.0556310.1%^0.055973%^59StaticIPOSDOAccessorTest#setObjectByProperty
0.16516.7%^0.098361.8%^40.4%60StaticIPOSDOAccessorTest#getObjectByIndex
0.070624.7%^0.050762.6%^28.1%61StaticIPOSDOAccessorTest#setObjectByIndex
0.0020230.1%0.0020230.1%62StaticIPOSDOAccessorTest#getBigIntegerByGenerated
0.021191.1%^0.021421.6%^63StaticIPOSDOAccessorTest#setBigIntegerByGenerated
0.13758.9%^0.0906218.5%^34.1%64StaticIPOSDOAccessorTest#getBigIntegerByProperty
0.0563710.8%^0.055852.8%^65StaticIPOSDOAccessorTest#setBigIntegerByProperty
0.15986.9%0.0930716.1%41.7%66StaticIPOSDOAccessorTest#getBigIntegerByIndex
0.074884.6%0.056343.4%^24.8%67StaticIPOSDOAccessorTest#setBigIntegerByIndex
3.3961.7%2.831.5%^16.7%68StaticIPOSDOAccessorTest#getBigIntegerByPath
0.139110.3%^0.078522.2%^43.6%69StaticIPOSDOAccessorTest#getBigDecimalByProperty
0.15265%^0.103718.7%32%70StaticIPOSDOAccessorTest#getBigDecimalByIndex
4.0652.5%3.5121.3%^13.6%71StaticIPOSDOAccessorTest#getBigDecimalByPath
0.22134.7%^0.1414.2%^36.7%72StaticIPOSDOAccessorTest#getStringByShortPath
0.10335.3%^0.082288.1%20.3%73StaticIPOSDOAccessorTest#getDataObjectByProperty
1.1636.8%1.1258.2%^74StaticIPOSDOAccessorTest#setDataObjectByProperty
0.042461.5%0.040626.2%75StaticIPOSDOAccessorTest#getByGenerated
5.1745.3%5.0737.4%76StaticIPOSDOAccessorTest#setByGenerated
1.8725.8%^1.3831.8%^26.1%77StaticIPOSDOAccessorTest#getByProperty
5.1496.6%^5.2767.1%^78StaticIPOSDOAccessorTest#setByProperty
4.7435.5%3.48714.4%^26.5%79StaticIPOSDOAccessorTest#getByShortPath
13.682%13.263.3%^80StaticIPOSDOAccessorTest#setByShortPath

Average Of 49 Improved Methods:27.7%

Build(s) used to generate this page:

  EMF 2.0.1/R200409171617 vs. EMF 2.1.0/S200506300200 (RC1)

Legend

1  A 'significant change' is defined as a delta where:
  1. |(new value - old value) / (old value)| x 100% >= 5%, that is, the absolute value of the percent difference between the new and old value is at least 5%;
  2. for an improvement, (old avg value - std dev) > (new avg value + std dev), that is, error bars do no overlap; and,
  3. for a regression, (old avg value + std dev) < (new avg value - std dev), that is, error bars do no overlap
2  Since this method only exists in the second (newer) test data, the preceding test was used as the baseline for comparison. For example, DynamicIpo#testSerCaching() was compared to DynamicIpo#testSer() in order to be able to compare the best available method option available in the old build compared to the new build.
^  In order to improve standard deviation of the data set, the highest value was removed and the standard deviation recomputed. If the new standard deviation (expressed as a percentage of the mean) was found to be better by at least 1%, the highest data point was omitted and the new standard deviation used.
v  In order to improve standard deviation of the data set, the lowest value was removed and the standard deviation recomputed. If the new standard deviation (expressed as a percentage of the mean) was found to be better by at least 20%, the lowest data point was omitted and the new standard deviation used.

EMF Performance Data

To review the data used to calculate the above plots, please see the EMF Performance Data as either tab separated values (TSV) or Excel (XLS). Note also that by clicking on the plots themselves, you can review the values used by Ploticus 2.3 to create the plots.

EMF Performance FAQ

For additional information, please see the EMF Perfomance FAQ.