<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="GENERATOR" content="Mozilla/4.72 [en] (Windows NT 5.0; U) [Netscape]">
   <title>EMF Performance</title>
   <link REL="SHORTCUT ICON" HREF="http://www.eclipse.org/emf/images/eclipse-icons/eclipse32.ico">
	<script type="text/javascript" src="http://www.eclipse.org/emf/includes/nav.js"></script>
	<link rel="stylesheet" href="http://www.eclipse.org/emf/includes/style.css" type="text/css">

</head>
<body>

<link rel="stylesheet" href="http://www.eclipse.org/emf/includes/tooltip.css" type="text/css"/>
<div id="dhtmltooltip"></div>
<script type="text/javascript" src="http://www.eclipse.org/emf/includes/tooltip.js"></script>
<blockquote>
<h2>EMF Performance: EMF 2.0.1 vs. EMF 2.1.0 RC1</h2>

<h3 style="background-color:beige">&nbsp;&nbsp;EMF Load and Save</h3>
<table><tr valign="top"><td><a href="images/../plot-data/EMFLoadandSave_ploticus_data.txt"><img src="images/EMFLoadandSave.png" border="1" alt="EMF Load and Save tests"></a></td><td>&nbsp;</td><td><table><tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Significant<a onMouseover="window.status='Click for details'; return true;" href="#note1" style="text-decoration:none"><sup>1</sup></a></span></td></tr>

<tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Changes</span></td><td align="center"><span style="color:black;font-size:10px">##</span></td><td align="left"><span style="color:black;font-size:10px">Test</span></td></tr>
<tr><td colspan="10"><hr noshade="noshade" size="1"/></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">28.4%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="43" height="7"/></td><td align="right"><span style="color:black;font-size:10px">01</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>serialization.DynamicIpo#testSer()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.serialization.DynamicIpo#testSer()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/serialization/DynamicIpo.html#testSer()">DynamicIpo#testSer</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">52.4%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="79" height="7"/></td><td align="right"><span style="color:black;font-size:10px">02</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>serialization.DynamicIpo#testSerCaching()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.serialization.DynamicIpo#testSerCaching()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/serialization/DynamicIpo.html#testSerCaching()">DynamicIpo#testSerCaching</a><a onMouseover="ddrivetip('Using previous test for comparison'); window.status='Using previous test for comparison, as no equivalent test method existed in older build'; return true;" onMouseout="hideddrivetip(); return true;" href="#note2" style="text-decoration:none"><sup>&nbsp;2</sup></a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">27.5%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="41" height="7"/></td><td align="right"><span style="color:black;font-size:10px">03</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>serialization.StaticIpo#testSer()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.serialization.StaticIpo#testSer()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/serialization/StaticIpo.html#testSer()">StaticIpo#testSer</a></span></td></tr>

<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">50.8%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="76" height="7"/></td><td align="right"><span style="color:black;font-size:10px">04</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>serialization.StaticIpo#testSerCaching()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.serialization.StaticIpo#testSerCaching()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/serialization/StaticIpo.html#testSerCaching()">StaticIpo#testSerCaching</a><a onMouseover="ddrivetip('Using previous test for comparison'); window.status='Using previous test for comparison, as no equivalent test method existed in older build'; return true;" onMouseout="hideddrivetip(); return true;" href="#note2" style="text-decoration:none"><sup>&nbsp;2</sup></a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">05</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>deserialization.DynamicIpoLoad#testLoad()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.deserialization.DynamicIpoLoad#testLoad()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/deserialization/DynamicIpoLoad.html#testLoad()">DynamicIpoLoad#testLoad</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:10px">10.6%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="16" height="7"/></td><td align="right"><span style="color:black;font-size:10px">06</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>deserialization.DynamicIpoLoad#testLoadParserCache()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.deserialization.DynamicIpoLoad#testLoadParserCache()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/deserialization/DynamicIpoLoad.html#testLoadParserCache()">DynamicIpoLoad#testLoadParserCache</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px">7.4%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="11" height="7"/></td><td align="right"><span style="color:black;font-size:10px">07</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>deserialization.DynamicIpoLoad#testLoadParserAndFeatureMapCache()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.deserialization.DynamicIpoLoad#testLoadParserAndFeatureMapCache()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/deserialization/DynamicIpoLoad.html#testLoadParserAndFeatureMapCache()">DynamicIpoLoad#testLoadParserAndFeatureMapCache</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">08</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>deserialization.StaticIpoLoad#testLoad()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.deserialization.StaticIpoLoad#testLoad()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/deserialization/StaticIpoLoad.html#testLoad()">StaticIpoLoad#testLoad</a></span></td></tr>

<tr><td align="right"><span style="color:black;font-size:10px">8.8%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="13" height="7"/></td><td align="right"><span style="color:black;font-size:10px">09</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>deserialization.StaticIpoLoad#testLoadParserCache()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.deserialization.StaticIpoLoad#testLoadParserCache()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/deserialization/StaticIpoLoad.html#testLoadParserCache()">StaticIpoLoad#testLoadParserCache</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px">5.8%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="9" height="7"/></td><td align="right"><span style="color:black;font-size:10px">10</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>deserialization.StaticIpoLoad#testLoadParserAndFeatureMapCache()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.deserialization.StaticIpoLoad#testLoadParserAndFeatureMapCache()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/deserialization/StaticIpoLoad.html#testLoadParserAndFeatureMapCache()">StaticIpoLoad#testLoadParserAndFeatureMapCache</a></span></td></tr>
</table></td></tr></table>
<h3 style="background-color:beige">&nbsp;&nbsp;SDO Load and Save</h3>
<table><tr valign="top"><td><a href="images/../plot-data/SDOLoadandSave_ploticus_data.txt"><img src="images/SDOLoadandSave.png" border="1" alt="SDO Load and Save tests"></a></td><td>&nbsp;</td><td><table><tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Significant<a onMouseover="window.status='Click for details'; return true;" href="#note1" style="text-decoration:none"><sup>1</sup></a></span></td></tr>
<tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Changes</span></td><td align="center"><span style="color:black;font-size:10px">##</span></td><td align="left"><span style="color:black;font-size:10px">Test</span></td></tr>

<tr><td colspan="10"><hr noshade="noshade" size="1"/></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">22.2%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="33" height="7"/></td><td align="right"><span style="color:black;font-size:10px">11</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.serialization.DynamicIPOSDOSaveTest#saveWithNoOptions()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.serialization.DynamicIPOSDOSaveTest#saveWithNoOptions()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/serialization/DynamicIPOSDOSaveTest.html#saveWithNoOptions()">DynamicIPOSDOSaveTest#saveWithNoOptions</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">46.8%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="70" height="7"/></td><td align="right"><span style="color:black;font-size:10px">12</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.serialization.DynamicIPOSDOSaveTest#saveWithCaching()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.serialization.DynamicIPOSDOSaveTest#saveWithCaching()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/serialization/DynamicIPOSDOSaveTest.html#saveWithCaching()">DynamicIPOSDOSaveTest#saveWithCaching</a><a onMouseover="ddrivetip('Using previous test for comparison'); window.status='Using previous test for comparison, as no equivalent test method existed in older build'; return true;" onMouseout="hideddrivetip(); return true;" href="#note2" style="text-decoration:none"><sup>&nbsp;2</sup></a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">20.6%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="31" height="7"/></td><td align="right"><span style="color:black;font-size:10px">13</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.serialization.StaticIPOSDOSaveTest#saveWithNoOptions()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.serialization.StaticIPOSDOSaveTest#saveWithNoOptions()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/serialization/StaticIPOSDOSaveTest.html#saveWithNoOptions()">StaticIPOSDOSaveTest#saveWithNoOptions</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">45.9%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="69" height="7"/></td><td align="right"><span style="color:black;font-size:10px">14</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.serialization.StaticIPOSDOSaveTest#saveWithCaching()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.serialization.StaticIPOSDOSaveTest#saveWithCaching()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/serialization/StaticIPOSDOSaveTest.html#saveWithCaching()">StaticIPOSDOSaveTest#saveWithCaching</a><a onMouseover="ddrivetip('Using previous test for comparison'); window.status='Using previous test for comparison, as no equivalent test method existed in older build'; return true;" onMouseout="hideddrivetip(); return true;" href="#note2" style="text-decoration:none"><sup>&nbsp;2</sup></a></span></td></tr>

<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">15</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.deserialization.DynamicIPOSDOLoadTest#loadWithNoOptions()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.deserialization.DynamicIPOSDOLoadTest#loadWithNoOptions()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/deserialization/DynamicIPOSDOLoadTest.html#loadWithNoOptions()">DynamicIPOSDOLoadTest#loadWithNoOptions</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">16</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.deserialization.DynamicIPOSDOLoadTest#loadWithParserCache()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.deserialization.DynamicIPOSDOLoadTest#loadWithParserCache()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/deserialization/DynamicIPOSDOLoadTest.html#loadWithParserCache()">DynamicIPOSDOLoadTest#loadWithParserCache</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">17</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.deserialization.DynamicIPOSDOLoadTest#loadWithParserAndFeatureMapCache()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.deserialization.DynamicIPOSDOLoadTest#loadWithParserAndFeatureMapCache()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/deserialization/DynamicIPOSDOLoadTest.html#loadWithParserAndFeatureMapCache()">DynamicIPOSDOLoadTest#loadWithParserAndFeatureMapCache</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">18</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.deserialization.StaticIPOSDOLoadTest#loadWithNoOptions()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.deserialization.StaticIPOSDOLoadTest#loadWithNoOptions()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/deserialization/StaticIPOSDOLoadTest.html#loadWithNoOptions()">StaticIPOSDOLoadTest#loadWithNoOptions</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">19</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.deserialization.StaticIPOSDOLoadTest#loadWithParserCache()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.deserialization.StaticIPOSDOLoadTest#loadWithParserCache()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/deserialization/StaticIPOSDOLoadTest.html#loadWithParserCache()">StaticIPOSDOLoadTest#loadWithParserCache</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">20</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.deserialization.StaticIPOSDOLoadTest#loadWithParserAndFeatureMapCache()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.deserialization.StaticIPOSDOLoadTest#loadWithParserAndFeatureMapCache()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/deserialization/StaticIPOSDOLoadTest.html#loadWithParserAndFeatureMapCache()">StaticIPOSDOLoadTest#loadWithParserAndFeatureMapCache</a></span></td></tr>

</table></td></tr></table>
<h3 style="background-color:beige">&nbsp;&nbsp;Save</h3>
<table><tr valign="top"><td><a href="images/../plot-data/Save_ploticus_data.txt"><img src="images/Save.png" border="1" alt="Save tests"></a></td><td>&nbsp;</td><td><table><tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Significant<a onMouseover="window.status='Click for details'; return true;" href="#note1" style="text-decoration:none"><sup>1</sup></a></span></td></tr>
<tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Changes</span></td><td align="center"><span style="color:black;font-size:10px">##</span></td><td align="left"><span style="color:black;font-size:10px">Test</span></td></tr>
<tr><td colspan="10"><hr noshade="noshade" size="1"/></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">28.4%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="43" height="7"/></td><td align="right"><span style="color:black;font-size:10px">01</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>serialization.DynamicIpo#testSer()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.serialization.DynamicIpo#testSer()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/serialization/DynamicIpo.html#testSer()">DynamicIpo#testSer</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">52.4%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="79" height="7"/></td><td align="right"><span style="color:black;font-size:10px">02</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>serialization.DynamicIpo#testSerCaching()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.serialization.DynamicIpo#testSerCaching()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/serialization/DynamicIpo.html#testSerCaching()">DynamicIpo#testSerCaching</a><a onMouseover="ddrivetip('Using previous test for comparison'); window.status='Using previous test for comparison, as no equivalent test method existed in older build'; return true;" onMouseout="hideddrivetip(); return true;" href="#note2" style="text-decoration:none"><sup>&nbsp;2</sup></a></span></td></tr>

<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">27.5%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="41" height="7"/></td><td align="right"><span style="color:black;font-size:10px">03</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>serialization.StaticIpo#testSer()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.serialization.StaticIpo#testSer()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/serialization/StaticIpo.html#testSer()">StaticIpo#testSer</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">50.8%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="76" height="7"/></td><td align="right"><span style="color:black;font-size:10px">04</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>serialization.StaticIpo#testSerCaching()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.serialization.StaticIpo#testSerCaching()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/serialization/StaticIpo.html#testSerCaching()">StaticIpo#testSerCaching</a><a onMouseover="ddrivetip('Using previous test for comparison'); window.status='Using previous test for comparison, as no equivalent test method existed in older build'; return true;" onMouseout="hideddrivetip(); return true;" href="#note2" style="text-decoration:none"><sup>&nbsp;2</sup></a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">22.2%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="33" height="7"/></td><td align="right"><span style="color:black;font-size:10px">11</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.serialization.DynamicIPOSDOSaveTest#saveWithNoOptions()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.serialization.DynamicIPOSDOSaveTest#saveWithNoOptions()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/serialization/DynamicIPOSDOSaveTest.html#saveWithNoOptions()">DynamicIPOSDOSaveTest#saveWithNoOptions</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">46.8%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="70" height="7"/></td><td align="right"><span style="color:black;font-size:10px">12</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.serialization.DynamicIPOSDOSaveTest#saveWithCaching()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.serialization.DynamicIPOSDOSaveTest#saveWithCaching()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/serialization/DynamicIPOSDOSaveTest.html#saveWithCaching()">DynamicIPOSDOSaveTest#saveWithCaching</a><a onMouseover="ddrivetip('Using previous test for comparison'); window.status='Using previous test for comparison, as no equivalent test method existed in older build'; return true;" onMouseout="hideddrivetip(); return true;" href="#note2" style="text-decoration:none"><sup>&nbsp;2</sup></a></span></td></tr>

<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">20.6%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="31" height="7"/></td><td align="right"><span style="color:black;font-size:10px">13</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.serialization.StaticIPOSDOSaveTest#saveWithNoOptions()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.serialization.StaticIPOSDOSaveTest#saveWithNoOptions()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/serialization/StaticIPOSDOSaveTest.html#saveWithNoOptions()">StaticIPOSDOSaveTest#saveWithNoOptions</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">45.9%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="69" height="7"/></td><td align="right"><span style="color:black;font-size:10px">14</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.serialization.StaticIPOSDOSaveTest#saveWithCaching()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.serialization.StaticIPOSDOSaveTest#saveWithCaching()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/serialization/StaticIPOSDOSaveTest.html#saveWithCaching()">StaticIPOSDOSaveTest#saveWithCaching</a><a onMouseover="ddrivetip('Using previous test for comparison'); window.status='Using previous test for comparison, as no equivalent test method existed in older build'; return true;" onMouseout="hideddrivetip(); return true;" href="#note2" style="text-decoration:none"><sup>&nbsp;2</sup></a></span></td></tr>
</table></td></tr></table>
<h3 style="background-color:beige">&nbsp;&nbsp;Load</h3>
<table><tr valign="top"><td><a href="images/../plot-data/Load_ploticus_data.txt"><img src="images/Load.png" border="1" alt="Load tests"></a></td><td>&nbsp;</td><td><table><tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Significant<a onMouseover="window.status='Click for details'; return true;" href="#note1" style="text-decoration:none"><sup>1</sup></a></span></td></tr>
<tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Changes</span></td><td align="center"><span style="color:black;font-size:10px">##</span></td><td align="left"><span style="color:black;font-size:10px">Test</span></td></tr>

<tr><td colspan="10"><hr noshade="noshade" size="1"/></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">05</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>deserialization.DynamicIpoLoad#testLoad()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.deserialization.DynamicIpoLoad#testLoad()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/deserialization/DynamicIpoLoad.html#testLoad()">DynamicIpoLoad#testLoad</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:10px">10.6%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="16" height="7"/></td><td align="right"><span style="color:black;font-size:10px">06</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>deserialization.DynamicIpoLoad#testLoadParserCache()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.deserialization.DynamicIpoLoad#testLoadParserCache()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/deserialization/DynamicIpoLoad.html#testLoadParserCache()">DynamicIpoLoad#testLoadParserCache</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px">7.4%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="11" height="7"/></td><td align="right"><span style="color:black;font-size:10px">07</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>deserialization.DynamicIpoLoad#testLoadParserAndFeatureMapCache()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.deserialization.DynamicIpoLoad#testLoadParserAndFeatureMapCache()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/deserialization/DynamicIpoLoad.html#testLoadParserAndFeatureMapCache()">DynamicIpoLoad#testLoadParserAndFeatureMapCache</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">08</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>deserialization.StaticIpoLoad#testLoad()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.deserialization.StaticIpoLoad#testLoad()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/deserialization/StaticIpoLoad.html#testLoad()">StaticIpoLoad#testLoad</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px">8.8%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="13" height="7"/></td><td align="right"><span style="color:black;font-size:10px">09</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>deserialization.StaticIpoLoad#testLoadParserCache()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.deserialization.StaticIpoLoad#testLoadParserCache()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/deserialization/StaticIpoLoad.html#testLoadParserCache()">StaticIpoLoad#testLoadParserCache</a></span></td></tr>

<tr><td align="right"><span style="color:black;font-size:10px">5.8%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="9" height="7"/></td><td align="right"><span style="color:black;font-size:10px">10</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>deserialization.StaticIpoLoad#testLoadParserAndFeatureMapCache()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.deserialization.StaticIpoLoad#testLoadParserAndFeatureMapCache()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/deserialization/StaticIpoLoad.html#testLoadParserAndFeatureMapCache()">StaticIpoLoad#testLoadParserAndFeatureMapCache</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">15</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.deserialization.DynamicIPOSDOLoadTest#loadWithNoOptions()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.deserialization.DynamicIPOSDOLoadTest#loadWithNoOptions()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/deserialization/DynamicIPOSDOLoadTest.html#loadWithNoOptions()">DynamicIPOSDOLoadTest#loadWithNoOptions</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">16</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.deserialization.DynamicIPOSDOLoadTest#loadWithParserCache()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.deserialization.DynamicIPOSDOLoadTest#loadWithParserCache()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/deserialization/DynamicIPOSDOLoadTest.html#loadWithParserCache()">DynamicIPOSDOLoadTest#loadWithParserCache</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">17</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.deserialization.DynamicIPOSDOLoadTest#loadWithParserAndFeatureMapCache()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.deserialization.DynamicIPOSDOLoadTest#loadWithParserAndFeatureMapCache()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/deserialization/DynamicIPOSDOLoadTest.html#loadWithParserAndFeatureMapCache()">DynamicIPOSDOLoadTest#loadWithParserAndFeatureMapCache</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">18</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.deserialization.StaticIPOSDOLoadTest#loadWithNoOptions()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.deserialization.StaticIPOSDOLoadTest#loadWithNoOptions()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/deserialization/StaticIPOSDOLoadTest.html#loadWithNoOptions()">StaticIPOSDOLoadTest#loadWithNoOptions</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">19</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.deserialization.StaticIPOSDOLoadTest#loadWithParserCache()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.deserialization.StaticIPOSDOLoadTest#loadWithParserCache()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/deserialization/StaticIPOSDOLoadTest.html#loadWithParserCache()">StaticIPOSDOLoadTest#loadWithParserCache</a></span></td></tr>

<tr><td align="right"><span style="color:black;font-size:10px"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">20</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.deserialization.StaticIPOSDOLoadTest#loadWithParserAndFeatureMapCache()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.deserialization.StaticIPOSDOLoadTest#loadWithParserAndFeatureMapCache()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/deserialization/StaticIPOSDOLoadTest.html#loadWithParserAndFeatureMapCache()">StaticIPOSDOLoadTest#loadWithParserAndFeatureMapCache</a></span></td></tr>
</table></td></tr></table>
<h3 style="background-color:beige">&nbsp;&nbsp;Static IPO Access</h3>
<table><tr valign="top"><td><a href="images/../plot-data/StaticIPOAccess_ploticus_data.txt"><img src="images/StaticIPOAccess.png" border="1" alt="Static IPO Access tests"></a></td><td>&nbsp;</td><td><table><tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Significant<a onMouseover="window.status='Click for details'; return true;" href="#note1" style="text-decoration:none"><sup>1</sup></a></span></td></tr>
<tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Changes</span></td><td align="center"><span style="color:black;font-size:10px">##</span></td><td align="left"><span style="color:black;font-size:10px">Test</span></td></tr>
<tr><td colspan="10"><hr noshade="noshade" size="1"/></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">75</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getByGenerated()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getByGenerated()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getByGenerated()">StaticIPOSDOAccessorTest#getByGenerated</a></span></td></tr>

<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">76</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setByGenerated()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setByGenerated()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setByGenerated()">StaticIPOSDOAccessorTest#setByGenerated</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">26.1%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="39" height="7"/></td><td align="right"><span style="color:black;font-size:10px">77</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getByProperty()">StaticIPOSDOAccessorTest#getByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">78</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setByProperty()">StaticIPOSDOAccessorTest#setByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">26.5%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="40" height="7"/></td><td align="right"><span style="color:black;font-size:10px">79</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getByShortPath()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getByShortPath()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getByShortPath()">StaticIPOSDOAccessorTest#getByShortPath</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">80</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setByShortPath()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setByShortPath()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setByShortPath()">StaticIPOSDOAccessorTest#setByShortPath</a></span></td></tr>

</table></td></tr></table>
<h3 style="background-color:beige">&nbsp;&nbsp;Dynamic IPO Access</h3>
<table><tr valign="top"><td><a href="images/../plot-data/DynamicIPOAccess_ploticus_data.txt"><img src="images/DynamicIPOAccess.png" border="1" alt="Dynamic IPO Access tests"></a></td><td>&nbsp;</td><td><table><tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Significant<a onMouseover="window.status='Click for details'; return true;" href="#note1" style="text-decoration:none"><sup>1</sup></a></span></td></tr>
<tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Changes</span></td><td align="center"><span style="color:black;font-size:10px">##</span></td><td align="left"><span style="color:black;font-size:10px">Test</span></td></tr>
<tr><td colspan="10"><hr noshade="noshade" size="1"/></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">25.9%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="39" height="7"/></td><td align="right"><span style="color:black;font-size:10px">50</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getByProperty()">DynamicIPOSDOAccessorTest#getByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:red;font-size:10px;color:#bbbbbb;font-style:italic">-6%</td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">51</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#setByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#setByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#setByProperty()">DynamicIPOSDOAccessorTest#setByProperty</a></span></td></tr>

<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">20.2%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="30" height="7"/></td><td align="right"><span style="color:black;font-size:10px">52</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getByShortPath()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getByShortPath()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getByShortPath()">DynamicIPOSDOAccessorTest#getByShortPath</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">53</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#setByShortPath()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#setByShortPath()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#setByShortPath()">DynamicIPOSDOAccessorTest#setByShortPath</a></span></td></tr>
</table></td></tr></table>
<h3 style="background-color:beige">&nbsp;&nbsp;Sequence/FeatureMap</h3>
<table><tr valign="top"><td><a href="images/../plot-data/SequenceFeatureMap_ploticus_data.txt"><img src="images/SequenceFeatureMap.png" border="1" alt="Sequence/FeatureMap tests"></a></td><td>&nbsp;</td><td><table><tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Significant<a onMouseover="window.status='Click for details'; return true;" href="#note1" style="text-decoration:none"><sup>1</sup></a></span></td></tr>
<tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Changes</span></td><td align="center"><span style="color:black;font-size:10px">##</span></td><td align="left"><span style="color:black;font-size:10px">Test</span></td></tr>

<tr><td colspan="10"><hr noshade="noshade" size="1"/></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">23</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticSequenceTest#getSequenceByGenerated()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticSequenceTest#getSequenceByGenerated()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticSequenceTest.html#getSequenceByGenerated()">StaticSequenceTest#getSequenceByGenerated</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">20.8%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="31" height="7"/></td><td align="right"><span style="color:black;font-size:10px">24</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticSequenceTest#getDerivedByGenerated()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticSequenceTest#getDerivedByGenerated()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticSequenceTest.html#getDerivedByGenerated()">StaticSequenceTest#getDerivedByGenerated</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">25</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticSequenceTest#getSequenceWithEGet()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticSequenceTest#getSequenceWithEGet()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticSequenceTest.html#getSequenceWithEGet()">StaticSequenceTest#getSequenceWithEGet</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">23.3%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="35" height="7"/></td><td align="right"><span style="color:black;font-size:10px">26</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticSequenceTest#getDerivedWithEGet()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticSequenceTest#getDerivedWithEGet()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticSequenceTest.html#getDerivedWithEGet()">StaticSequenceTest#getDerivedWithEGet</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">24.1%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="36" height="7"/></td><td align="right"><span style="color:black;font-size:10px">27</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticSequenceTest#getSequence()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticSequenceTest#getSequence()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticSequenceTest.html#getSequence()">StaticSequenceTest#getSequence</a></span></td></tr>

<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">23.2%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="35" height="7"/></td><td align="right"><span style="color:black;font-size:10px">28</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticSequenceTest#getDerived()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticSequenceTest#getDerived()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticSequenceTest.html#getDerived()">StaticSequenceTest#getDerived</a></span></td></tr>
</table></td></tr></table>
<h3 style="background-color:beige">&nbsp;&nbsp;Bidirectional Set</h3>
<table><tr valign="top"><td><a href="images/../plot-data/BidirectionalSet_ploticus_data.txt"><img src="images/BidirectionalSet.png" border="1" alt="Bidirectional Set tests"></a></td><td>&nbsp;</td><td><table><tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Significant<a onMouseover="window.status='Click for details'; return true;" href="#note1" style="text-decoration:none"><sup>1</sup></a></span></td></tr>
<tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Changes</span></td><td align="center"><span style="color:black;font-size:10px">##</span></td><td align="left"><span style="color:black;font-size:10px">Test</span></td></tr>
<tr><td colspan="10"><hr noshade="noshade" size="1"/></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:10px">10.7%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="16" height="7"/></td><td align="right"><span style="color:black;font-size:10px">30</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticBidirectionalTest#setAdaptedByGenerated()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticBidirectionalTest#setAdaptedByGenerated()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticBidirectionalTest.html#setAdaptedByGenerated()">StaticBidirectionalTest#setAdaptedByGenerated</a></span></td></tr>

<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">31</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticBidirectionalTest#setByGenerated()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticBidirectionalTest#setByGenerated()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticBidirectionalTest.html#setByGenerated()">StaticBidirectionalTest#setByGenerated</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">32</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticBidirectionalTest#setWithESet()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticBidirectionalTest#setWithESet()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticBidirectionalTest.html#setWithESet()">StaticBidirectionalTest#setWithESet</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">57</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setObjectWithESet()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setObjectWithESet()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setObjectWithESet()">StaticIPOSDOAccessorTest#setObjectWithESet</a></span></td></tr>
</table></td></tr></table>
<h3 style="background-color:beige">&nbsp;&nbsp;Dynamic Access (1)</h3>
<table><tr valign="top"><td><a href="images/../plot-data/DynamicAccess1_ploticus_data.txt"><img src="images/DynamicAccess1.png" border="1" alt="Dynamic Access (1) tests"></a></td><td>&nbsp;</td><td><table><tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Significant<a onMouseover="window.status='Click for details'; return true;" href="#note1" style="text-decoration:none"><sup>1</sup></a></span></td></tr>
<tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Changes</span></td><td align="center"><span style="color:black;font-size:10px">##</span></td><td align="left"><span style="color:black;font-size:10px">Test</span></td></tr>

<tr><td colspan="10"><hr noshade="noshade" size="1"/></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:10px;color:#bbbbbb;font-style:italic">14.8%</td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">33</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getObjectWithEGet()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getObjectWithEGet()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getObjectWithEGet()">DynamicIPOSDOAccessorTest#getObjectWithEGet</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px;color:#bbbbbb;font-style:italic">15.6%</td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">34</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#setObjectWithESet()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#setObjectWithESet()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#setObjectWithESet()">DynamicIPOSDOAccessorTest#setObjectWithESet</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">29.6%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="44" height="7"/></td><td align="right"><span style="color:black;font-size:10px">35</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getObjectByProperty()">DynamicIPOSDOAccessorTest#getObjectByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:10px">12.9%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="19" height="7"/></td><td align="right"><span style="color:black;font-size:10px">36</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#setObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#setObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#setObjectByProperty()">DynamicIPOSDOAccessorTest#setObjectByProperty</a></span></td></tr>

<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">42.2%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="63" height="7"/></td><td align="right"><span style="color:black;font-size:10px">37</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getObjectByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getObjectByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getObjectByIndex()">DynamicIPOSDOAccessorTest#getObjectByIndex</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">20.6%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="31" height="7"/></td><td align="right"><span style="color:black;font-size:10px">38</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#setObjectByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#setObjectByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#setObjectByIndex()">DynamicIPOSDOAccessorTest#setObjectByIndex</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">30.5%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="46" height="7"/></td><td align="right"><span style="color:black;font-size:10px">39</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getBigIntegerByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getBigIntegerByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getBigIntegerByProperty()">DynamicIPOSDOAccessorTest#getBigIntegerByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic">7.7%</td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">40</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#setBigIntegerByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#setBigIntegerByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#setBigIntegerByProperty()">DynamicIPOSDOAccessorTest#setBigIntegerByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">41.9%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="63" height="7"/></td><td align="right"><span style="color:black;font-size:10px">41</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getBigIntegerByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getBigIntegerByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getBigIntegerByIndex()">DynamicIPOSDOAccessorTest#getBigIntegerByIndex</a></span></td></tr>

<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">21.1%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="32" height="7"/></td><td align="right"><span style="color:black;font-size:10px">42</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#setBigIntegerByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#setBigIntegerByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#setBigIntegerByIndex()">DynamicIPOSDOAccessorTest#setBigIntegerByIndex</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:10px">13%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="20" height="7"/></td><td align="right"><span style="color:black;font-size:10px">43</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getBigIntegerByPath()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getBigIntegerByPath()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getBigIntegerByPath()">DynamicIPOSDOAccessorTest#getBigIntegerByPath</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">30.2%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="45" height="7"/></td><td align="right"><span style="color:black;font-size:10px">44</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getBigDecimalByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getBigDecimalByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getBigDecimalByProperty()">DynamicIPOSDOAccessorTest#getBigDecimalByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">34.6%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="52" height="7"/></td><td align="right"><span style="color:black;font-size:10px">45</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getBigDecimalByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getBigDecimalByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getBigDecimalByIndex()">DynamicIPOSDOAccessorTest#getBigDecimalByIndex</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:10px">11.3%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="17" height="7"/></td><td align="right"><span style="color:black;font-size:10px">46</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getBigDecimalByPath()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getBigDecimalByPath()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getBigDecimalByPath()">DynamicIPOSDOAccessorTest#getBigDecimalByPath</a></span></td></tr>

<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">22.9%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="34" height="7"/></td><td align="right"><span style="color:black;font-size:10px">47</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getStringByShortPath()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getStringByShortPath()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getStringByShortPath()">DynamicIPOSDOAccessorTest#getStringByShortPath</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">22.8%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="34" height="7"/></td><td align="right"><span style="color:black;font-size:10px">48</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getDataObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getDataObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getDataObjectByProperty()">DynamicIPOSDOAccessorTest#getDataObjectByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">49</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#setDataObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#setDataObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#setDataObjectByProperty()">DynamicIPOSDOAccessorTest#setDataObjectByProperty</a></span></td></tr>
</table></td></tr></table>
<h3 style="background-color:beige">&nbsp;&nbsp;Dynamic Access (2)</h3>
<table><tr valign="top"><td><a href="images/../plot-data/DynamicAccess2_ploticus_data.txt"><img src="images/DynamicAccess2.png" border="1" alt="Dynamic Access (2) tests"></a></td><td>&nbsp;</td><td><table><tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Significant<a onMouseover="window.status='Click for details'; return true;" href="#note1" style="text-decoration:none"><sup>1</sup></a></span></td></tr>

<tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Changes</span></td><td align="center"><span style="color:black;font-size:10px">##</span></td><td align="left"><span style="color:black;font-size:10px">Test</span></td></tr>
<tr><td colspan="10"><hr noshade="noshade" size="1"/></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:10px;color:#bbbbbb;font-style:italic">14.8%</td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">33</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getObjectWithEGet()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getObjectWithEGet()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getObjectWithEGet()">DynamicIPOSDOAccessorTest#getObjectWithEGet</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px;color:#bbbbbb;font-style:italic">15.6%</td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">34</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#setObjectWithESet()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#setObjectWithESet()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#setObjectWithESet()">DynamicIPOSDOAccessorTest#setObjectWithESet</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">29.6%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="44" height="7"/></td><td align="right"><span style="color:black;font-size:10px">35</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getObjectByProperty()">DynamicIPOSDOAccessorTest#getObjectByProperty</a></span></td></tr>

<tr><td align="right"><span style="color:green;font-weight:bold;font-size:10px">12.9%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="19" height="7"/></td><td align="right"><span style="color:black;font-size:10px">36</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#setObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#setObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#setObjectByProperty()">DynamicIPOSDOAccessorTest#setObjectByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">42.2%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="63" height="7"/></td><td align="right"><span style="color:black;font-size:10px">37</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getObjectByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getObjectByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getObjectByIndex()">DynamicIPOSDOAccessorTest#getObjectByIndex</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">20.6%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="31" height="7"/></td><td align="right"><span style="color:black;font-size:10px">38</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#setObjectByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#setObjectByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#setObjectByIndex()">DynamicIPOSDOAccessorTest#setObjectByIndex</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">30.5%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="46" height="7"/></td><td align="right"><span style="color:black;font-size:10px">39</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getBigIntegerByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getBigIntegerByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getBigIntegerByProperty()">DynamicIPOSDOAccessorTest#getBigIntegerByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic">7.7%</td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">40</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#setBigIntegerByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#setBigIntegerByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#setBigIntegerByProperty()">DynamicIPOSDOAccessorTest#setBigIntegerByProperty</a></span></td></tr>

<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">41.9%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="63" height="7"/></td><td align="right"><span style="color:black;font-size:10px">41</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getBigIntegerByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getBigIntegerByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getBigIntegerByIndex()">DynamicIPOSDOAccessorTest#getBigIntegerByIndex</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">21.1%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="32" height="7"/></td><td align="right"><span style="color:black;font-size:10px">42</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#setBigIntegerByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#setBigIntegerByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#setBigIntegerByIndex()">DynamicIPOSDOAccessorTest#setBigIntegerByIndex</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">30.2%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="45" height="7"/></td><td align="right"><span style="color:black;font-size:10px">44</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getBigDecimalByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getBigDecimalByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getBigDecimalByProperty()">DynamicIPOSDOAccessorTest#getBigDecimalByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">34.6%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="52" height="7"/></td><td align="right"><span style="color:black;font-size:10px">45</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getBigDecimalByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getBigDecimalByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getBigDecimalByIndex()">DynamicIPOSDOAccessorTest#getBigDecimalByIndex</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">22.9%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="34" height="7"/></td><td align="right"><span style="color:black;font-size:10px">47</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getStringByShortPath()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getStringByShortPath()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getStringByShortPath()">DynamicIPOSDOAccessorTest#getStringByShortPath</a></span></td></tr>

<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">22.8%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="34" height="7"/></td><td align="right"><span style="color:black;font-size:10px">48</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getDataObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getDataObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getDataObjectByProperty()">DynamicIPOSDOAccessorTest#getDataObjectByProperty</a></span></td></tr>
</table></td></tr></table>
<h3 style="background-color:beige">&nbsp;&nbsp;Static Access (1)</h3>
<table><tr valign="top"><td><a href="images/../plot-data/StaticAccess1_ploticus_data.txt"><img src="images/StaticAccess1.png" border="1" alt="Static Access (1) tests"></a></td><td>&nbsp;</td><td><table><tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Significant<a onMouseover="window.status='Click for details'; return true;" href="#note1" style="text-decoration:none"><sup>1</sup></a></span></td></tr>
<tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Changes</span></td><td align="center"><span style="color:black;font-size:10px">##</span></td><td align="left"><span style="color:black;font-size:10px">Test</span></td></tr>
<tr><td colspan="10"><hr noshade="noshade" size="1"/></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">54</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getFromMap()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getFromMap()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getFromMap()">StaticIPOSDOAccessorTest#getFromMap</a></span></td></tr>

<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">55</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setInMap()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setInMap()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setInMap()">StaticIPOSDOAccessorTest#setInMap</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">56</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getObjectWithEGet()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getObjectWithEGet()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getObjectWithEGet()">StaticIPOSDOAccessorTest#getObjectWithEGet</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">57</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setObjectWithESet()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setObjectWithESet()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setObjectWithESet()">StaticIPOSDOAccessorTest#setObjectWithESet</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">33.5%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="50" height="7"/></td><td align="right"><span style="color:black;font-size:10px">58</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getObjectByProperty()">StaticIPOSDOAccessorTest#getObjectByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">59</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setObjectByProperty()">StaticIPOSDOAccessorTest#setObjectByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">40.4%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="61" height="7"/></td><td align="right"><span style="color:black;font-size:10px">60</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getObjectByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getObjectByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getObjectByIndex()">StaticIPOSDOAccessorTest#getObjectByIndex</a></span></td></tr>

<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">28.1%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="42" height="7"/></td><td align="right"><span style="color:black;font-size:10px">61</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setObjectByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setObjectByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setObjectByIndex()">StaticIPOSDOAccessorTest#setObjectByIndex</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">62</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getBigIntegerByGenerated()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getBigIntegerByGenerated()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getBigIntegerByGenerated()">StaticIPOSDOAccessorTest#getBigIntegerByGenerated</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">63</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setBigIntegerByGenerated()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setBigIntegerByGenerated()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setBigIntegerByGenerated()">StaticIPOSDOAccessorTest#setBigIntegerByGenerated</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">34.1%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="51" height="7"/></td><td align="right"><span style="color:black;font-size:10px">64</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getBigIntegerByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getBigIntegerByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getBigIntegerByProperty()">StaticIPOSDOAccessorTest#getBigIntegerByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">65</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setBigIntegerByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setBigIntegerByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setBigIntegerByProperty()">StaticIPOSDOAccessorTest#setBigIntegerByProperty</a></span></td></tr>

<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">41.7%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="63" height="7"/></td><td align="right"><span style="color:black;font-size:10px">66</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getBigIntegerByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getBigIntegerByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getBigIntegerByIndex()">StaticIPOSDOAccessorTest#getBigIntegerByIndex</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">24.8%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="37" height="7"/></td><td align="right"><span style="color:black;font-size:10px">67</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setBigIntegerByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setBigIntegerByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setBigIntegerByIndex()">StaticIPOSDOAccessorTest#setBigIntegerByIndex</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">16.7%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="25" height="7"/></td><td align="right"><span style="color:black;font-size:10px">68</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getBigIntegerByPath()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getBigIntegerByPath()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getBigIntegerByPath()">StaticIPOSDOAccessorTest#getBigIntegerByPath</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">43.6%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="65" height="7"/></td><td align="right"><span style="color:black;font-size:10px">69</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getBigDecimalByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getBigDecimalByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getBigDecimalByProperty()">StaticIPOSDOAccessorTest#getBigDecimalByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">32%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="48" height="7"/></td><td align="right"><span style="color:black;font-size:10px">70</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getBigDecimalByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getBigDecimalByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getBigDecimalByIndex()">StaticIPOSDOAccessorTest#getBigDecimalByIndex</a></span></td></tr>

<tr><td align="right"><span style="color:green;font-weight:bold;font-size:10px">13.6%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="20" height="7"/></td><td align="right"><span style="color:black;font-size:10px">71</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getBigDecimalByPath()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getBigDecimalByPath()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getBigDecimalByPath()">StaticIPOSDOAccessorTest#getBigDecimalByPath</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">36.7%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="55" height="7"/></td><td align="right"><span style="color:black;font-size:10px">72</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getStringByShortPath()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getStringByShortPath()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getStringByShortPath()">StaticIPOSDOAccessorTest#getStringByShortPath</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">20.3%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="30" height="7"/></td><td align="right"><span style="color:black;font-size:10px">73</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getDataObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getDataObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getDataObjectByProperty()">StaticIPOSDOAccessorTest#getDataObjectByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">74</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setDataObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setDataObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setDataObjectByProperty()">StaticIPOSDOAccessorTest#setDataObjectByProperty</a></span></td></tr>
</table></td></tr></table>
<h3 style="background-color:beige">&nbsp;&nbsp;Static Access (2)</h3>

<table><tr valign="top"><td><a href="images/../plot-data/StaticAccess2_ploticus_data.txt"><img src="images/StaticAccess2.png" border="1" alt="Static Access (2) tests"></a></td><td>&nbsp;</td><td><table><tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Significant<a onMouseover="window.status='Click for details'; return true;" href="#note1" style="text-decoration:none"><sup>1</sup></a></span></td></tr>
<tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Changes</span></td><td align="center"><span style="color:black;font-size:10px">##</span></td><td align="left"><span style="color:black;font-size:10px">Test</span></td></tr>
<tr><td colspan="10"><hr noshade="noshade" size="1"/></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">54</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getFromMap()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getFromMap()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getFromMap()">StaticIPOSDOAccessorTest#getFromMap</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">55</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setInMap()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setInMap()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setInMap()">StaticIPOSDOAccessorTest#setInMap</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">56</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getObjectWithEGet()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getObjectWithEGet()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getObjectWithEGet()">StaticIPOSDOAccessorTest#getObjectWithEGet</a></span></td></tr>

<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">57</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setObjectWithESet()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setObjectWithESet()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setObjectWithESet()">StaticIPOSDOAccessorTest#setObjectWithESet</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">33.5%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="50" height="7"/></td><td align="right"><span style="color:black;font-size:10px">58</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getObjectByProperty()">StaticIPOSDOAccessorTest#getObjectByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">59</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setObjectByProperty()">StaticIPOSDOAccessorTest#setObjectByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">40.4%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="61" height="7"/></td><td align="right"><span style="color:black;font-size:10px">60</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getObjectByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getObjectByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getObjectByIndex()">StaticIPOSDOAccessorTest#getObjectByIndex</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">28.1%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="42" height="7"/></td><td align="right"><span style="color:black;font-size:10px">61</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setObjectByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setObjectByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setObjectByIndex()">StaticIPOSDOAccessorTest#setObjectByIndex</a></span></td></tr>

<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">62</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getBigIntegerByGenerated()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getBigIntegerByGenerated()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getBigIntegerByGenerated()">StaticIPOSDOAccessorTest#getBigIntegerByGenerated</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">63</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setBigIntegerByGenerated()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setBigIntegerByGenerated()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setBigIntegerByGenerated()">StaticIPOSDOAccessorTest#setBigIntegerByGenerated</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">34.1%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="51" height="7"/></td><td align="right"><span style="color:black;font-size:10px">64</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getBigIntegerByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getBigIntegerByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getBigIntegerByProperty()">StaticIPOSDOAccessorTest#getBigIntegerByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">65</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setBigIntegerByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setBigIntegerByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setBigIntegerByProperty()">StaticIPOSDOAccessorTest#setBigIntegerByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">41.7%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="63" height="7"/></td><td align="right"><span style="color:black;font-size:10px">66</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getBigIntegerByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getBigIntegerByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getBigIntegerByIndex()">StaticIPOSDOAccessorTest#getBigIntegerByIndex</a></span></td></tr>

<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">24.8%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="37" height="7"/></td><td align="right"><span style="color:black;font-size:10px">67</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setBigIntegerByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setBigIntegerByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setBigIntegerByIndex()">StaticIPOSDOAccessorTest#setBigIntegerByIndex</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">43.6%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="65" height="7"/></td><td align="right"><span style="color:black;font-size:10px">69</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getBigDecimalByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getBigDecimalByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getBigDecimalByProperty()">StaticIPOSDOAccessorTest#getBigDecimalByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">32%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="48" height="7"/></td><td align="right"><span style="color:black;font-size:10px">70</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getBigDecimalByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getBigDecimalByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getBigDecimalByIndex()">StaticIPOSDOAccessorTest#getBigDecimalByIndex</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">20.3%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="30" height="7"/></td><td align="right"><span style="color:black;font-size:10px">73</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getDataObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getDataObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getDataObjectByProperty()">StaticIPOSDOAccessorTest#getDataObjectByProperty</a></span></td></tr>
</table></td></tr></table>

<h3 style="background-color:beige">&nbsp;&nbsp;Getters</h3>
<table><tr valign="top"><td><a href="images/../plot-data/Getters_ploticus_data.txt"><img src="images/Getters.png" border="1" alt="Getters tests"></a></td><td>&nbsp;</td><td><table><tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Significant<a onMouseover="window.status='Click for details'; return true;" href="#note1" style="text-decoration:none"><sup>1</sup></a></span></td></tr>
<tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Changes</span></td><td align="center"><span style="color:black;font-size:10px">##</span></td><td align="left"><span style="color:black;font-size:10px">Test</span></td></tr>
<tr><td colspan="10"><hr noshade="noshade" size="1"/></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:10px;color:#bbbbbb;font-style:italic">14.8%</td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">33</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getObjectWithEGet()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getObjectWithEGet()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getObjectWithEGet()">DynamicIPOSDOAccessorTest#getObjectWithEGet</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">29.6%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="44" height="7"/></td><td align="right"><span style="color:black;font-size:10px">35</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getObjectByProperty()">DynamicIPOSDOAccessorTest#getObjectByProperty</a></span></td></tr>

<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">42.2%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="63" height="7"/></td><td align="right"><span style="color:black;font-size:10px">37</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getObjectByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getObjectByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getObjectByIndex()">DynamicIPOSDOAccessorTest#getObjectByIndex</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">56</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getObjectWithEGet()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getObjectWithEGet()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getObjectWithEGet()">StaticIPOSDOAccessorTest#getObjectWithEGet</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">33.5%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="50" height="7"/></td><td align="right"><span style="color:black;font-size:10px">58</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getObjectByProperty()">StaticIPOSDOAccessorTest#getObjectByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">40.4%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="61" height="7"/></td><td align="right"><span style="color:black;font-size:10px">60</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getObjectByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getObjectByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getObjectByIndex()">StaticIPOSDOAccessorTest#getObjectByIndex</a></span></td></tr>
</table></td></tr></table>
<h3 style="background-color:beige">&nbsp;&nbsp;Setters</h3>

<table><tr valign="top"><td><a href="images/../plot-data/Setters_ploticus_data.txt"><img src="images/Setters.png" border="1" alt="Setters tests"></a></td><td>&nbsp;</td><td><table><tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Significant<a onMouseover="window.status='Click for details'; return true;" href="#note1" style="text-decoration:none"><sup>1</sup></a></span></td></tr>
<tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Changes</span></td><td align="center"><span style="color:black;font-size:10px">##</span></td><td align="left"><span style="color:black;font-size:10px">Test</span></td></tr>
<tr><td colspan="10"><hr noshade="noshade" size="1"/></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px;color:#bbbbbb;font-style:italic">15.6%</td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">34</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#setObjectWithESet()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#setObjectWithESet()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#setObjectWithESet()">DynamicIPOSDOAccessorTest#setObjectWithESet</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:10px">12.9%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="19" height="7"/></td><td align="right"><span style="color:black;font-size:10px">36</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#setObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#setObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#setObjectByProperty()">DynamicIPOSDOAccessorTest#setObjectByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">20.6%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="31" height="7"/></td><td align="right"><span style="color:black;font-size:10px">38</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#setObjectByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#setObjectByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#setObjectByIndex()">DynamicIPOSDOAccessorTest#setObjectByIndex</a></span></td></tr>

<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">57</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setObjectWithESet()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setObjectWithESet()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setObjectWithESet()">StaticIPOSDOAccessorTest#setObjectWithESet</a></span></td></tr>
<tr><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">59</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setObjectByProperty()">StaticIPOSDOAccessorTest#setObjectByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">28.1%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="42" height="7"/></td><td align="right"><span style="color:black;font-size:10px">61</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setObjectByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setObjectByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setObjectByIndex()">StaticIPOSDOAccessorTest#setObjectByIndex</a></span></td></tr>
</table></td></tr></table>
<h3 style="background-color:beige">&nbsp;&nbsp;Open Content</h3>
<table><tr valign="top"><td><a href="images/../plot-data/OpenContent_ploticus_data.txt"><img src="images/OpenContent.png" border="1" alt="Open Content tests"></a></td><td>&nbsp;</td><td><table><tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Significant<a onMouseover="window.status='Click for details'; return true;" href="#note1" style="text-decoration:none"><sup>1</sup></a></span></td></tr>
<tr><td align="center" colspan="2"><span style="color:black;font-size:10px">Changes</span></td><td align="center"><span style="color:black;font-size:10px">##</span></td><td align="left"><span style="color:black;font-size:10px">Test</span></td></tr>

<tr><td colspan="10"><hr noshade="noshade" size="1"/></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">72.8%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="109" height="7"/></td><td align="right"><span style="color:black;font-size:10px">21</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.extendedMetaData.OpenContentTest#demandFeature()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.extendedMetaData.OpenContentTest#demandFeature()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/extendedMetaData/OpenContentTest.html#demandFeature()">OpenContentTest#demandFeature</a></span></td></tr>
<tr><td align="right"><span style="color:green;font-weight:bold;font-size:14px">47.9%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="72" height="7"/></td><td align="right"><span style="color:black;font-size:10px">22</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.extendedMetaData.OpenContentTest#createDemandFeatureDO()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.extendedMetaData.OpenContentTest#createDemandFeatureDO()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/extendedMetaData/OpenContentTest.html#createDemandFeatureDO()">OpenContentTest#createDemandFeatureDO</a></span></td></tr>
</table></td></tr></table>
<h3 style="background-color:beige">&nbsp;&nbsp;All Test Methods</h3>
<table><tr valign="top"><td></td><td>&nbsp;</td><td><table><tr><td align="center" colspan="3"><span style="color:black;font-size:10px">2.0.1</span></td><td align="center" colspan="3"><span style="color:black;font-size:10px">2.1.0</span></td><td align="center" colspan="2"><span style="color:black;font-size:10px">Significant<a onMouseover="window.status='Click for details'; return true;" href="#note1" style="text-decoration:none"><sup>1</sup></a></span></td></tr>

<tr><td align="center"><span style="color:black;font-size:10px">Avg</span></td><td align="center"><span style="color:black;font-size:10px">Stdv%</span></td><td align="center"><span style="color:black;font-size:10px"></span></td><td align="center"><span style="color:black;font-size:10px">Avg</span></td><td align="center"><span style="color:black;font-size:10px">Stdv%</span></td><td align="center"><span style="color:black;font-size:10px"></span></td><td align="center" colspan="2"><span style="color:black;font-size:10px">Changes</span></td><td align="center"><span style="color:black;font-size:10px">##</span></td><td align="left"><span style="color:black;font-size:10px">Test</span></td></tr>
<tr><td colspan="10"><hr noshade="noshade" size="1"/></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">248</td><td align="right"><span style="color:orange;font-size:10px">2.9%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">177.5</td><td align="right"><span style="color:navy;font-size:10px">2%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">28.4%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="43" height="7"/></td><td align="right"><span style="color:black;font-size:10px">01</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>serialization.DynamicIpo#testSer()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.serialization.DynamicIpo#testSer()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/serialization/DynamicIpo.html#testSer()">DynamicIpo#testSer</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">248</td><td align="right"><span style="color:orange;font-size:10px">2.9%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">118</td><td align="right"><span style="color:navy;font-size:10px">2.2%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">52.4%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="79" height="7"/></td><td align="right"><span style="color:black;font-size:10px">02</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>serialization.DynamicIpo#testSerCaching()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.serialization.DynamicIpo#testSerCaching()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/serialization/DynamicIpo.html#testSerCaching()">DynamicIpo#testSerCaching</a><a onMouseover="ddrivetip('Using previous test for comparison'); window.status='Using previous test for comparison, as no equivalent test method existed in older build'; return true;" onMouseout="hideddrivetip(); return true;" href="#note2" style="text-decoration:none"><sup>&nbsp;2</sup></a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">230.5</td><td align="right"><span style="color:orange;font-size:10px">1.2%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">167</td><td align="right"><span style="color:navy;font-size:10px">1.5%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">27.5%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="41" height="7"/></td><td align="right"><span style="color:black;font-size:10px">03</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>serialization.StaticIpo#testSer()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.serialization.StaticIpo#testSer()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/serialization/StaticIpo.html#testSer()">StaticIpo#testSer</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">230.5</td><td align="right"><span style="color:orange;font-size:10px">1.2%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">113.5</td><td align="right"><span style="color:navy;font-size:10px">2.1%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">50.8%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="76" height="7"/></td><td align="right"><span style="color:black;font-size:10px">04</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>serialization.StaticIpo#testSerCaching()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.serialization.StaticIpo#testSerCaching()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/serialization/StaticIpo.html#testSerCaching()">StaticIpo#testSerCaching</a><a onMouseover="ddrivetip('Using previous test for comparison'); window.status='Using previous test for comparison, as no equivalent test method existed in older build'; return true;" onMouseout="hideddrivetip(); return true;" href="#note2" style="text-decoration:none"><sup>&nbsp;2</sup></a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">1767</td><td align="right"><span style="color:orange;font-size:10px">0.4%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">1712</td><td align="right"><span style="color:navy;font-size:10px">0.6%</span></td><td align="right"></td><td align="right"><span style="color:black;font-size:10px"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">05</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>deserialization.DynamicIpoLoad#testLoad()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.deserialization.DynamicIpoLoad#testLoad()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/deserialization/DynamicIpoLoad.html#testLoad()">DynamicIpoLoad#testLoad</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">708.5</td><td align="right"><span style="color:orange;font-size:10px">0.7%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">633.5</td><td align="right"><span style="color:navy;font-size:10px">1.1%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:10px">10.6%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="16" height="7"/></td><td align="right"><span style="color:black;font-size:10px">06</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>deserialization.DynamicIpoLoad#testLoadParserCache()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.deserialization.DynamicIpoLoad#testLoadParserCache()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/deserialization/DynamicIpoLoad.html#testLoadParserCache()">DynamicIpoLoad#testLoadParserCache</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">581.5</td><td align="right"><span style="color:orange;font-size:10px">0.6%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">538.5</td><td align="right"><span style="color:navy;font-size:10px">1.5%</span></td><td align="right"></td><td align="right"><span style="color:black;font-size:10px">7.4%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="11" height="7"/></td><td align="right"><span style="color:black;font-size:10px">07</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>deserialization.DynamicIpoLoad#testLoadParserAndFeatureMapCache()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.deserialization.DynamicIpoLoad#testLoadParserAndFeatureMapCache()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/deserialization/DynamicIpoLoad.html#testLoadParserAndFeatureMapCache()">DynamicIpoLoad#testLoadParserAndFeatureMapCache</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">1746</td><td align="right"><span style="color:orange;font-size:10px">0.3%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">1700</td><td align="right"><span style="color:navy;font-size:10px">0.3%</span></td><td align="right"></td><td align="right"><span style="color:black;font-size:10px"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">08</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>deserialization.StaticIpoLoad#testLoad()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.deserialization.StaticIpoLoad#testLoad()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/deserialization/StaticIpoLoad.html#testLoad()">StaticIpoLoad#testLoad</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">690.5</td><td align="right"><span style="color:orange;font-size:10px">0.7%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">630</td><td align="right"><span style="color:navy;font-size:10px">1%</span></td><td align="right"></td><td align="right"><span style="color:black;font-size:10px">8.8%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="13" height="7"/></td><td align="right"><span style="color:black;font-size:10px">09</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>deserialization.StaticIpoLoad#testLoadParserCache()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.deserialization.StaticIpoLoad#testLoadParserCache()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/deserialization/StaticIpoLoad.html#testLoadParserCache()">StaticIpoLoad#testLoadParserCache</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">571</td><td align="right"><span style="color:orange;font-size:10px">0.8%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">538</td><td align="right"><span style="color:navy;font-size:10px">1%</span></td><td align="right"></td><td align="right"><span style="color:black;font-size:10px">5.8%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="9" height="7"/></td><td align="right"><span style="color:black;font-size:10px">10</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>deserialization.StaticIpoLoad#testLoadParserAndFeatureMapCache()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.deserialization.StaticIpoLoad#testLoadParserAndFeatureMapCache()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/deserialization/StaticIpoLoad.html#testLoadParserAndFeatureMapCache()">StaticIpoLoad#testLoadParserAndFeatureMapCache</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">303.6</td><td align="right"><span style="color:orange;font-size:10px">1.7%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">236.2</td><td align="right"><span style="color:navy;font-size:10px">2.2%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">22.2%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="33" height="7"/></td><td align="right"><span style="color:black;font-size:10px">11</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.serialization.DynamicIPOSDOSaveTest#saveWithNoOptions()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.serialization.DynamicIPOSDOSaveTest#saveWithNoOptions()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/serialization/DynamicIPOSDOSaveTest.html#saveWithNoOptions()">DynamicIPOSDOSaveTest#saveWithNoOptions</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">303.6</td><td align="right"><span style="color:orange;font-size:10px">1.7%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">161.4</td><td align="right"><span style="color:navy;font-size:10px">1.9%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">46.8%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="70" height="7"/></td><td align="right"><span style="color:black;font-size:10px">12</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.serialization.DynamicIPOSDOSaveTest#saveWithCaching()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.serialization.DynamicIPOSDOSaveTest#saveWithCaching()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/serialization/DynamicIPOSDOSaveTest.html#saveWithCaching()">DynamicIPOSDOSaveTest#saveWithCaching</a><a onMouseover="ddrivetip('Using previous test for comparison'); window.status='Using previous test for comparison, as no equivalent test method existed in older build'; return true;" onMouseout="hideddrivetip(); return true;" href="#note2" style="text-decoration:none"><sup>&nbsp;2</sup></a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">296.3</td><td align="right"><span style="color:orange;font-size:10px">1.5%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">235.2</td><td align="right"><span style="color:navy;font-size:10px">2%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">20.6%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="31" height="7"/></td><td align="right"><span style="color:black;font-size:10px">13</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.serialization.StaticIPOSDOSaveTest#saveWithNoOptions()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.serialization.StaticIPOSDOSaveTest#saveWithNoOptions()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/serialization/StaticIPOSDOSaveTest.html#saveWithNoOptions()">StaticIPOSDOSaveTest#saveWithNoOptions</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">296.3</td><td align="right"><span style="color:orange;font-size:10px">1.5%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">160.2</td><td align="right"><span style="color:navy;font-size:10px">2.3%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">45.9%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="69" height="7"/></td><td align="right"><span style="color:black;font-size:10px">14</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.serialization.StaticIPOSDOSaveTest#saveWithCaching()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.serialization.StaticIPOSDOSaveTest#saveWithCaching()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/serialization/StaticIPOSDOSaveTest.html#saveWithCaching()">StaticIPOSDOSaveTest#saveWithCaching</a><a onMouseover="ddrivetip('Using previous test for comparison'); window.status='Using previous test for comparison, as no equivalent test method existed in older build'; return true;" onMouseout="hideddrivetip(); return true;" href="#note2" style="text-decoration:none"><sup>&nbsp;2</sup></a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">1788</td><td align="right"><span style="color:orange;font-size:10px">0.5%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">1799</td><td align="right"><span style="color:navy;font-size:10px">0.5%</span></td><td align="right"></td><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">15</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.deserialization.DynamicIPOSDOLoadTest#loadWithNoOptions()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.deserialization.DynamicIPOSDOLoadTest#loadWithNoOptions()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/deserialization/DynamicIPOSDOLoadTest.html#loadWithNoOptions()">DynamicIPOSDOLoadTest#loadWithNoOptions</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">693.5</td><td align="right"><span style="color:orange;font-size:10px">1.1%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">697</td><td align="right"><span style="color:navy;font-size:10px">0.9%</span></td><td align="right"></td><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">16</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.deserialization.DynamicIPOSDOLoadTest#loadWithParserCache()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.deserialization.DynamicIPOSDOLoadTest#loadWithParserCache()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/deserialization/DynamicIPOSDOLoadTest.html#loadWithParserCache()">DynamicIPOSDOLoadTest#loadWithParserCache</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">582</td><td align="right"><span style="color:orange;font-size:10px">0.8%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">603</td><td align="right"><span style="color:navy;font-size:10px">1.4%</span></td><td align="right"></td><td align="right"><span style="color:black;font-size:10px"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">17</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.deserialization.DynamicIPOSDOLoadTest#loadWithParserAndFeatureMapCache()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.deserialization.DynamicIPOSDOLoadTest#loadWithParserAndFeatureMapCache()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/deserialization/DynamicIPOSDOLoadTest.html#loadWithParserAndFeatureMapCache()">DynamicIPOSDOLoadTest#loadWithParserAndFeatureMapCache</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">1768</td><td align="right"><span style="color:orange;font-size:10px">0.6%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">1786</td><td align="right"><span style="color:navy;font-size:10px">0.5%</span></td><td align="right"></td><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">18</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.deserialization.StaticIPOSDOLoadTest#loadWithNoOptions()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.deserialization.StaticIPOSDOLoadTest#loadWithNoOptions()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/deserialization/StaticIPOSDOLoadTest.html#loadWithNoOptions()">StaticIPOSDOLoadTest#loadWithNoOptions</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">673</td><td align="right"><span style="color:orange;font-size:10px">1.2%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">687</td><td align="right"><span style="color:navy;font-size:10px">0.9%</span></td><td align="right"></td><td align="right"><span style="color:black;font-size:10px"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">19</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.deserialization.StaticIPOSDOLoadTest#loadWithParserCache()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.deserialization.StaticIPOSDOLoadTest#loadWithParserCache()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/deserialization/StaticIPOSDOLoadTest.html#loadWithParserCache()">StaticIPOSDOLoadTest#loadWithParserCache</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">567.5</td><td align="right"><span style="color:orange;font-size:10px">0.7%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">595.5</td><td align="right"><span style="color:navy;font-size:10px">1.3%</span></td><td align="right"></td><td align="right"><span style="color:black;font-size:10px"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">20</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.deserialization.StaticIPOSDOLoadTest#loadWithParserAndFeatureMapCache()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.deserialization.StaticIPOSDOLoadTest#loadWithParserAndFeatureMapCache()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/deserialization/StaticIPOSDOLoadTest.html#loadWithParserAndFeatureMapCache()">StaticIPOSDOLoadTest#loadWithParserAndFeatureMapCache</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">6546</td><td align="right"><span style="color:orange;font-size:10px">1.2%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">v</a></td><td align="right"><span style="color:navy;font-size:10px">1779</td><td align="right"><span style="color:navy;font-size:10px">2%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">72.8%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="109" height="7"/></td><td align="right"><span style="color:black;font-size:10px">21</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.extendedMetaData.OpenContentTest#demandFeature()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.extendedMetaData.OpenContentTest#demandFeature()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/extendedMetaData/OpenContentTest.html#demandFeature()">OpenContentTest#demandFeature</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">2752</td><td align="right"><span style="color:orange;font-size:10px">1.1%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">1434</td><td align="right"><span style="color:navy;font-size:10px">1.2%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">47.9%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="72" height="7"/></td><td align="right"><span style="color:black;font-size:10px">22</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.extendedMetaData.OpenContentTest#createDemandFeatureDO()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.extendedMetaData.OpenContentTest#createDemandFeatureDO()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/extendedMetaData/OpenContentTest.html#createDemandFeatureDO()">OpenContentTest#createDemandFeatureDO</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">0.00709</td><td align="right"><span style="color:orange;font-size:10px">2%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">0.00708</td><td align="right"><span style="color:navy;font-size:10px">1.7%</span></td><td align="right"></td><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">23</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticSequenceTest#getSequenceByGenerated()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticSequenceTest#getSequenceByGenerated()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticSequenceTest.html#getSequenceByGenerated()">StaticSequenceTest#getSequenceByGenerated</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">0.2486</td><td align="right"><span style="color:orange;font-size:10px">2.7%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">0.197</td><td align="right"><span style="color:navy;font-size:10px">3.7%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">20.8%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="31" height="7"/></td><td align="right"><span style="color:black;font-size:10px">24</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticSequenceTest#getDerivedByGenerated()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticSequenceTest#getDerivedByGenerated()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticSequenceTest.html#getDerivedByGenerated()">StaticSequenceTest#getDerivedByGenerated</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">0.03563</td><td align="right"><span style="color:orange;font-size:10px">0.7%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">0.0363</td><td align="right"><span style="color:navy;font-size:10px">0.2%</span></td><td align="right"></td><td align="right"><span style="color:black;font-size:10px"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">25</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticSequenceTest#getSequenceWithEGet()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticSequenceTest#getSequenceWithEGet()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticSequenceTest.html#getSequenceWithEGet()">StaticSequenceTest#getSequenceWithEGet</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">0.2933</td><td align="right"><span style="color:orange;font-size:10px">3.4%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">0.225</td><td align="right"><span style="color:navy;font-size:10px">2.8%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">23.3%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="35" height="7"/></td><td align="right"><span style="color:black;font-size:10px">26</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticSequenceTest#getDerivedWithEGet()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticSequenceTest#getDerivedWithEGet()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticSequenceTest.html#getDerivedWithEGet()">StaticSequenceTest#getDerivedWithEGet</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">0.1593</td><td align="right"><span style="color:orange;font-size:10px">2%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">0.121</td><td align="right"><span style="color:navy;font-size:10px">2.1%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">24.1%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="36" height="7"/></td><td align="right"><span style="color:black;font-size:10px">27</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticSequenceTest#getSequence()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticSequenceTest#getSequence()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticSequenceTest.html#getSequence()">StaticSequenceTest#getSequence</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">0.2271</td><td align="right"><span style="color:orange;font-size:10px">5.6%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">0.1744</td><td align="right"><span style="color:navy;font-size:10px">4.8%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">23.2%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="35" height="7"/></td><td align="right"><span style="color:black;font-size:10px">28</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticSequenceTest#getDerived()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticSequenceTest#getDerived()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticSequenceTest.html#getDerived()">StaticSequenceTest#getDerived</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">1.477</td><td align="right"><span style="color:orange;font-size:10px">1.5%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">1.341</td><td align="right"><span style="color:navy;font-size:10px">5.3%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:black;font-size:10px">9.2%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="14" height="7"/></td><td align="right"><span style="color:black;font-size:10px">29</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticSequenceTest#contains()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticSequenceTest#contains()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticSequenceTest.html#contains()">StaticSequenceTest#contains</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">1.667</td><td align="right"><span style="color:orange;font-size:10px">2.5%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">1.489</td><td align="right"><span style="color:navy;font-size:10px">2.6%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:10px">10.7%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="16" height="7"/></td><td align="right"><span style="color:black;font-size:10px">30</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticBidirectionalTest#setAdaptedByGenerated()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticBidirectionalTest#setAdaptedByGenerated()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticBidirectionalTest.html#setAdaptedByGenerated()">StaticBidirectionalTest#setAdaptedByGenerated</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">5.167</td><td align="right"><span style="color:orange;font-size:10px">4.7%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">5.227</td><td align="right"><span style="color:navy;font-size:10px">5.4%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">31</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticBidirectionalTest#setByGenerated()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticBidirectionalTest#setByGenerated()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticBidirectionalTest.html#setByGenerated()">StaticBidirectionalTest#setByGenerated</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">5.219</td><td align="right"><span style="color:orange;font-size:10px">7.3%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">5.294</td><td align="right"><span style="color:navy;font-size:10px">7%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">32</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticBidirectionalTest#setWithESet()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticBidirectionalTest#setWithESet()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticBidirectionalTest.html#setWithESet()">StaticBidirectionalTest#setWithESet</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">0.1176</td><td align="right"><span style="color:orange;font-size:10px">14.8%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">0.1002</td><td align="right"><span style="color:navy;font-size:10px">2.6%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:green;font-weight:bold;font-size:10px;color:#bbbbbb;font-style:italic">14.8%</td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">33</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getObjectWithEGet()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getObjectWithEGet()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getObjectWithEGet()">DynamicIPOSDOAccessorTest#getObjectWithEGet</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">0.1964</td><td align="right"><span style="color:orange;font-size:10px">9.6%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">0.1658</td><td align="right"><span style="color:navy;font-size:10px">7.1%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px;color:#bbbbbb;font-style:italic">15.6%</td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">34</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#setObjectWithESet()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#setObjectWithESet()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#setObjectWithESet()">DynamicIPOSDOAccessorTest#setObjectWithESet</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">0.2398</td><td align="right"><span style="color:orange;font-size:10px">6.8%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">0.1688</td><td align="right"><span style="color:navy;font-size:10px">4.4%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">29.6%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="44" height="7"/></td><td align="right"><span style="color:black;font-size:10px">35</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getObjectByProperty()">DynamicIPOSDOAccessorTest#getObjectByProperty</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">0.1906</td><td align="right"><span style="color:orange;font-size:10px">7.3%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">0.166</td><td align="right"><span style="color:navy;font-size:10px">4.6%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:10px">12.9%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="19" height="7"/></td><td align="right"><span style="color:black;font-size:10px">36</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#setObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#setObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#setObjectByProperty()">DynamicIPOSDOAccessorTest#setObjectByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">0.2679</td><td align="right"><span style="color:orange;font-size:10px">6%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">0.1549</td><td align="right"><span style="color:navy;font-size:10px">4.9%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">42.2%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="63" height="7"/></td><td align="right"><span style="color:black;font-size:10px">37</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getObjectByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getObjectByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getObjectByIndex()">DynamicIPOSDOAccessorTest#getObjectByIndex</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">0.2014</td><td align="right"><span style="color:orange;font-size:10px">6.6%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">0.16</td><td align="right"><span style="color:navy;font-size:10px">6.2%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">20.6%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="31" height="7"/></td><td align="right"><span style="color:black;font-size:10px">38</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#setObjectByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#setObjectByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#setObjectByIndex()">DynamicIPOSDOAccessorTest#setObjectByIndex</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">0.2542</td><td align="right"><span style="color:orange;font-size:10px">7.3%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">0.1768</td><td align="right"><span style="color:navy;font-size:10px">4.4%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">30.5%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="46" height="7"/></td><td align="right"><span style="color:black;font-size:10px">39</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getBigIntegerByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getBigIntegerByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getBigIntegerByProperty()">DynamicIPOSDOAccessorTest#getBigIntegerByProperty</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">0.4078</td><td align="right"><span style="color:orange;font-size:10px">5.9%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">0.3763</td><td align="right"><span style="color:navy;font-size:10px">4.6%</span></td><td align="right"></td><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic">7.7%</td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">40</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#setBigIntegerByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#setBigIntegerByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#setBigIntegerByProperty()">DynamicIPOSDOAccessorTest#setBigIntegerByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">0.2728</td><td align="right"><span style="color:orange;font-size:10px">7.5%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">0.1586</td><td align="right"><span style="color:navy;font-size:10px">3.2%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">41.9%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="63" height="7"/></td><td align="right"><span style="color:black;font-size:10px">41</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getBigIntegerByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getBigIntegerByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getBigIntegerByIndex()">DynamicIPOSDOAccessorTest#getBigIntegerByIndex</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">0.218</td><td align="right"><span style="color:orange;font-size:10px">4.8%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">0.172</td><td align="right"><span style="color:navy;font-size:10px">4.3%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">21.1%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="32" height="7"/></td><td align="right"><span style="color:black;font-size:10px">42</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#setBigIntegerByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#setBigIntegerByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#setBigIntegerByIndex()">DynamicIPOSDOAccessorTest#setBigIntegerByIndex</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">3.465</td><td align="right"><span style="color:orange;font-size:10px">1.6%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">3.016</td><td align="right"><span style="color:navy;font-size:10px">1.4%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:10px">13%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="20" height="7"/></td><td align="right"><span style="color:black;font-size:10px">43</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getBigIntegerByPath()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getBigIntegerByPath()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getBigIntegerByPath()">DynamicIPOSDOAccessorTest#getBigIntegerByPath</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">0.4918</td><td align="right"><span style="color:orange;font-size:10px">8.1%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">0.3433</td><td align="right"><span style="color:navy;font-size:10px">6.9%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">30.2%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="45" height="7"/></td><td align="right"><span style="color:black;font-size:10px">44</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getBigDecimalByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getBigDecimalByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getBigDecimalByProperty()">DynamicIPOSDOAccessorTest#getBigDecimalByProperty</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">0.5386</td><td align="right"><span style="color:orange;font-size:10px">7.3%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">0.3524</td><td align="right"><span style="color:navy;font-size:10px">8.8%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">34.6%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="52" height="7"/></td><td align="right"><span style="color:black;font-size:10px">45</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getBigDecimalByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getBigDecimalByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getBigDecimalByIndex()">DynamicIPOSDOAccessorTest#getBigDecimalByIndex</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">4.245</td><td align="right"><span style="color:orange;font-size:10px">1.9%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">3.767</td><td align="right"><span style="color:navy;font-size:10px">1.9%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:10px">11.3%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="17" height="7"/></td><td align="right"><span style="color:black;font-size:10px">46</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getBigDecimalByPath()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getBigDecimalByPath()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getBigDecimalByPath()">DynamicIPOSDOAccessorTest#getBigDecimalByPath</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">0.3292</td><td align="right"><span style="color:orange;font-size:10px">5.7%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">0.254</td><td align="right"><span style="color:navy;font-size:10px">7.8%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">22.9%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="34" height="7"/></td><td align="right"><span style="color:black;font-size:10px">47</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getStringByShortPath()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getStringByShortPath()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getStringByShortPath()">DynamicIPOSDOAccessorTest#getStringByShortPath</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">0.2791</td><td align="right"><span style="color:orange;font-size:10px">6.4%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">0.2155</td><td align="right"><span style="color:navy;font-size:10px">3.6%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">22.8%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="34" height="7"/></td><td align="right"><span style="color:black;font-size:10px">48</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getDataObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getDataObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getDataObjectByProperty()">DynamicIPOSDOAccessorTest#getDataObjectByProperty</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">1.327</td><td align="right"><span style="color:orange;font-size:10px">5.7%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">1.318</td><td align="right"><span style="color:navy;font-size:10px">4.1%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">49</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#setDataObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#setDataObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#setDataObjectByProperty()">DynamicIPOSDOAccessorTest#setDataObjectByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">6.828</td><td align="right"><span style="color:orange;font-size:10px">5.8%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">5.061</td><td align="right"><span style="color:navy;font-size:10px">3.6%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">25.9%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="39" height="7"/></td><td align="right"><span style="color:black;font-size:10px">50</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getByProperty()">DynamicIPOSDOAccessorTest#getByProperty</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">26.85</td><td align="right"><span style="color:orange;font-size:10px">6.9%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">28.34</td><td align="right"><span style="color:navy;font-size:10px">9.9%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:red;font-size:10px;color:#bbbbbb;font-style:italic">-6%</td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">51</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#setByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#setByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#setByProperty()">DynamicIPOSDOAccessorTest#setByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">13.08</td><td align="right"><span style="color:orange;font-size:10px">3.9%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">10.44</td><td align="right"><span style="color:navy;font-size:10px">11.6%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">20.2%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="30" height="7"/></td><td align="right"><span style="color:black;font-size:10px">52</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#getByShortPath()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#getByShortPath()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#getByShortPath()">DynamicIPOSDOAccessorTest#getByShortPath</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">27.7</td><td align="right"><span style="color:orange;font-size:10px">2.3%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">26.93</td><td align="right"><span style="color:navy;font-size:10px">4.6%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">53</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.DynamicIPOSDOAccessorTest#setByShortPath()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.DynamicIPOSDOAccessorTest#setByShortPath()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/DynamicIPOSDOAccessorTest.html#setByShortPath()">DynamicIPOSDOAccessorTest#setByShortPath</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">0.03323</td><td align="right"><span style="color:orange;font-size:10px">7.3%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">0.03308</td><td align="right"><span style="color:navy;font-size:10px">6.9%</span></td><td align="right"></td><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">54</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getFromMap()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getFromMap()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getFromMap()">StaticIPOSDOAccessorTest#getFromMap</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">0.03223</td><td align="right"><span style="color:orange;font-size:10px">7.1%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">0.0316</td><td align="right"><span style="color:navy;font-size:10px">3%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">55</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setInMap()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setInMap()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setInMap()">StaticIPOSDOAccessorTest#setInMap</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">0.02703</td><td align="right"><span style="color:orange;font-size:10px">0.8%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">0.02783</td><td align="right"><span style="color:navy;font-size:10px">0.7%</span></td><td align="right"></td><td align="right"><span style="color:black;font-size:10px"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">56</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getObjectWithEGet()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getObjectWithEGet()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getObjectWithEGet()">StaticIPOSDOAccessorTest#getObjectWithEGet</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">0.03319</td><td align="right"><span style="color:orange;font-size:10px">6%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">0.03315</td><td align="right"><span style="color:navy;font-size:10px">0.7%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">57</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setObjectWithESet()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setObjectWithESet()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setObjectWithESet()">StaticIPOSDOAccessorTest#setObjectWithESet</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">0.1415</td><td align="right"><span style="color:orange;font-size:10px">5.8%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">0.09411</td><td align="right"><span style="color:navy;font-size:10px">8.2%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">33.5%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="50" height="7"/></td><td align="right"><span style="color:black;font-size:10px">58</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getObjectByProperty()">StaticIPOSDOAccessorTest#getObjectByProperty</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">0.05563</td><td align="right"><span style="color:orange;font-size:10px">10.1%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">0.05597</td><td align="right"><span style="color:navy;font-size:10px">3%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">59</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setObjectByProperty()">StaticIPOSDOAccessorTest#setObjectByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">0.1651</td><td align="right"><span style="color:orange;font-size:10px">6.7%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">0.09836</td><td align="right"><span style="color:navy;font-size:10px">1.8%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">40.4%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="61" height="7"/></td><td align="right"><span style="color:black;font-size:10px">60</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getObjectByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getObjectByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getObjectByIndex()">StaticIPOSDOAccessorTest#getObjectByIndex</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">0.07062</td><td align="right"><span style="color:orange;font-size:10px">4.7%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">0.05076</td><td align="right"><span style="color:navy;font-size:10px">2.6%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">28.1%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="42" height="7"/></td><td align="right"><span style="color:black;font-size:10px">61</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setObjectByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setObjectByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setObjectByIndex()">StaticIPOSDOAccessorTest#setObjectByIndex</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">0.002023</td><td align="right"><span style="color:orange;font-size:10px">0.1%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">0.002023</td><td align="right"><span style="color:navy;font-size:10px">0.1%</span></td><td align="right"></td><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">62</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getBigIntegerByGenerated()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getBigIntegerByGenerated()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getBigIntegerByGenerated()">StaticIPOSDOAccessorTest#getBigIntegerByGenerated</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">0.02119</td><td align="right"><span style="color:orange;font-size:10px">1.1%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">0.02142</td><td align="right"><span style="color:navy;font-size:10px">1.6%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">63</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setBigIntegerByGenerated()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setBigIntegerByGenerated()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setBigIntegerByGenerated()">StaticIPOSDOAccessorTest#setBigIntegerByGenerated</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">0.1375</td><td align="right"><span style="color:orange;font-size:10px">8.9%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">0.09062</td><td align="right"><span style="color:navy;font-size:10px">18.5%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">34.1%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="51" height="7"/></td><td align="right"><span style="color:black;font-size:10px">64</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getBigIntegerByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getBigIntegerByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getBigIntegerByProperty()">StaticIPOSDOAccessorTest#getBigIntegerByProperty</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">0.05637</td><td align="right"><span style="color:orange;font-size:10px">10.8%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">0.05585</td><td align="right"><span style="color:navy;font-size:10px">2.8%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">65</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setBigIntegerByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setBigIntegerByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setBigIntegerByProperty()">StaticIPOSDOAccessorTest#setBigIntegerByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">0.1598</td><td align="right"><span style="color:orange;font-size:10px">6.9%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">0.09307</td><td align="right"><span style="color:navy;font-size:10px">16.1%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">41.7%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="63" height="7"/></td><td align="right"><span style="color:black;font-size:10px">66</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getBigIntegerByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getBigIntegerByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getBigIntegerByIndex()">StaticIPOSDOAccessorTest#getBigIntegerByIndex</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">0.07488</td><td align="right"><span style="color:orange;font-size:10px">4.6%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">0.05634</td><td align="right"><span style="color:navy;font-size:10px">3.4%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">24.8%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="37" height="7"/></td><td align="right"><span style="color:black;font-size:10px">67</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setBigIntegerByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setBigIntegerByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setBigIntegerByIndex()">StaticIPOSDOAccessorTest#setBigIntegerByIndex</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">3.396</td><td align="right"><span style="color:orange;font-size:10px">1.7%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">2.83</td><td align="right"><span style="color:navy;font-size:10px">1.5%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">16.7%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="25" height="7"/></td><td align="right"><span style="color:black;font-size:10px">68</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getBigIntegerByPath()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getBigIntegerByPath()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getBigIntegerByPath()">StaticIPOSDOAccessorTest#getBigIntegerByPath</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">0.1391</td><td align="right"><span style="color:orange;font-size:10px">10.3%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">0.0785</td><td align="right"><span style="color:navy;font-size:10px">22.2%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">43.6%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="65" height="7"/></td><td align="right"><span style="color:black;font-size:10px">69</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getBigDecimalByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getBigDecimalByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getBigDecimalByProperty()">StaticIPOSDOAccessorTest#getBigDecimalByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">0.1526</td><td align="right"><span style="color:orange;font-size:10px">5%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">0.1037</td><td align="right"><span style="color:navy;font-size:10px">18.7%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">32%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="48" height="7"/></td><td align="right"><span style="color:black;font-size:10px">70</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getBigDecimalByIndex()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getBigDecimalByIndex()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getBigDecimalByIndex()">StaticIPOSDOAccessorTest#getBigDecimalByIndex</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">4.065</td><td align="right"><span style="color:orange;font-size:10px">2.5%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">3.512</td><td align="right"><span style="color:navy;font-size:10px">1.3%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:green;font-weight:bold;font-size:10px">13.6%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="20" height="7"/></td><td align="right"><span style="color:black;font-size:10px">71</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getBigDecimalByPath()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getBigDecimalByPath()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getBigDecimalByPath()">StaticIPOSDOAccessorTest#getBigDecimalByPath</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">0.2213</td><td align="right"><span style="color:orange;font-size:10px">4.7%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">0.14</td><td align="right"><span style="color:navy;font-size:10px">14.2%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">36.7%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="55" height="7"/></td><td align="right"><span style="color:black;font-size:10px">72</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getStringByShortPath()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getStringByShortPath()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getStringByShortPath()">StaticIPOSDOAccessorTest#getStringByShortPath</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">0.1033</td><td align="right"><span style="color:orange;font-size:10px">5.3%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">0.08228</td><td align="right"><span style="color:navy;font-size:10px">8.1%</span></td><td align="right"></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">20.3%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="30" height="7"/></td><td align="right"><span style="color:black;font-size:10px">73</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getDataObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getDataObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getDataObjectByProperty()">StaticIPOSDOAccessorTest#getDataObjectByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">1.163</td><td align="right"><span style="color:orange;font-size:10px">6.8%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">1.125</td><td align="right"><span style="color:navy;font-size:10px">8.2%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">74</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setDataObjectByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setDataObjectByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setDataObjectByProperty()">StaticIPOSDOAccessorTest#setDataObjectByProperty</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">0.04246</td><td align="right"><span style="color:orange;font-size:10px">1.5%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">0.04062</td><td align="right"><span style="color:navy;font-size:10px">6.2%</span></td><td align="right"></td><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">75</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getByGenerated()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getByGenerated()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getByGenerated()">StaticIPOSDOAccessorTest#getByGenerated</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">5.174</td><td align="right"><span style="color:orange;font-size:10px">5.3%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">5.073</td><td align="right"><span style="color:navy;font-size:10px">7.4%</span></td><td align="right"></td><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">76</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setByGenerated()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setByGenerated()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setByGenerated()">StaticIPOSDOAccessorTest#setByGenerated</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">1.872</td><td align="right"><span style="color:orange;font-size:10px">5.8%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">1.383</td><td align="right"><span style="color:navy;font-size:10px">1.8%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">26.1%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="39" height="7"/></td><td align="right"><span style="color:black;font-size:10px">77</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getByProperty()">StaticIPOSDOAccessorTest#getByProperty</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">5.149</td><td align="right"><span style="color:orange;font-size:10px">6.6%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:navy;font-size:10px">5.276</td><td align="right"><span style="color:navy;font-size:10px">7.1%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">78</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setByProperty()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setByProperty()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setByProperty()">StaticIPOSDOAccessorTest#setByProperty</a></span></td></tr>
<tr><td align="right"><span style="color:orange;font-size:10px">4.743</td><td align="right"><span style="color:orange;font-size:10px">5.5%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">3.487</td><td align="right"><span style="color:navy;font-size:10px">14.4%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:green;font-weight:bold;font-size:14px">26.5%</td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="40" height="7"/></td><td align="right"><span style="color:black;font-size:10px">79</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#getByShortPath()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#getByShortPath()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#getByShortPath()">StaticIPOSDOAccessorTest#getByShortPath</a></span></td></tr>

<tr><td align="right"><span style="color:orange;font-size:10px">13.68</td><td align="right"><span style="color:orange;font-size:10px">2%</span></td><td align="right"></td><td align="right"><span style="color:navy;font-size:10px">13.26</td><td align="right"><span style="color:navy;font-size:10px">3.3%</span></td><td align="right"><a onMouseover="ddrivetip('High/low value removed'); window.status='Highest/lowest data point removed to improve standard deviation'; return true;" onMouseout="hideddrivetip(); return true;" href="#note3" style="text-decoration:none;color:black;font-size:10px">^</a></td><td align="right"><span style="color:black;font-size:10px;color:#bbbbbb;font-style:italic"></td><td align="left" colspan="1"></td><td align="right"><span style="color:black;font-size:10px">80</span></td><td align="left"><span style="color:black;font-size:10px"><a onMouseover="ddrivetip('org.eclipse.emf.test.performance<br/>sdo.accessor.StaticIPOSDOAccessorTest#setByShortPath()'); window.status='Click for Javadoc: org.eclipse.emf.test.performance.sdo.accessor.StaticIPOSDOAccessorTest#setByShortPath()'; return true;" onMouseout="hideddrivetip(); return true;" href="/emf/docs/performance/javadoc/org/eclipse/emf/test/performance/sdo/accessor/StaticIPOSDOAccessorTest.html#setByShortPath()">StaticIPOSDOAccessorTest#setByShortPath</a></span></td></tr>
<tr><td colspan="10"><hr noshade="noshade" size="1"></td>
</tr>
<tr><td colspan="6" align="right"><span style="color:black;font-size:10px">Average Of <span style="color:green;font-weight:bold;font-size:14px">49</span> Improved Methods:</span></td><td colspan="1" align="right"><span style="color:green;font-weight:bold;font-size:14px">27.7%</span></td><td align="left" colspan="1"><img src="http://www.eclipse.org/emf/images/misc/bar-green.png" width="42" height="7"/></td></tr>
</table></td></tr></table>
<h4>Build(s) used to generate this page:</h4>
<p style="color:black;font-size:11px">&nbsp;&nbsp;EMF 2.0.1/R200409171617 vs. EMF 2.1.0/S200506300200 (RC1)</p>
<!-- legend/footnotes -->
<h4>Legend</h4>
<table>
	<tr valign="top">
	<td><span style="color:black;font-size:11px">
		<span>1</span><a name="note1">&#160;</a>

	</span></td>
	<td><span style="color:black;font-size:11px">
		A 'significant change' is defined as a delta where:
		<ol>
			<li style="color:black;font-size:11px">|(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 <b>at least 5%</b>;</li>
			<li style="color:black;font-size:11px">for an improvement, (old avg value - std dev) &gt; (new avg value + std dev), that is, error bars do no overlap; and, </li>

			<li style="color:black;font-size:11px">for a regression, (old avg value + std dev) &lt; (new avg value - std dev), that is, error bars do no overlap</li>
		</ol>
	</span></td>
	</tr>
	<tr valign="top">
	<td><span style="color:black;font-size:11px">
		<span>2</span><a name="note2">&#160;</a>

	</span></td>
	<td><span style="color:black;font-size:11px">
		Since this method only exists in the second (newer) test data, the preceding test was used as the baseline for comparison. For example, <b>DynamicIpo#testSerCaching()</b> was compared to <b>DynamicIpo#testSer()</b> in order to be able to compare the best available method option available in the old build compared to the new build.
	</span></td>
	</tr>
	<tr valign="top">

	<td><span style="color:black;font-size:11px">
		<span>^</span><a name="note3">&#160;</a>
	</span></td>
	<td><span style="color:black;font-size:11px">
		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 <b>at least 1%</b>, the highest data point was omitted and the new standard deviation used.
	</span></td>
	</tr>
	<tr valign="top">

	<td><span style="color:black;font-size:11px">
		<span>v</span><a name="note3">&#160;</a>
	</span></td>
	<td><span style="color:black;font-size:11px">
		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 <b>at least 20%</b>, the lowest data point was omitted and the new standard deviation used.
	</span></td>
	</tr>
</table>

<h4>EMF Performance Data</h4>

<p style="color:black;font-size:11px">To review the data used to calculate the above plots, please see the EMF Performance Data as either <a href="http://www.eclipse.org/emf/docs/performance/EMFPerformanceTestsData.txt">tab separated values</a> (TSV) or <a href="http://www.eclipse.org/emf/docs/performance/EMFPerformanceTestsData.xls">Excel</a> (XLS). Note also that by clicking on the plots themselves, you can review the values used by <a href="http://ploticus.sourceforge.net/doc/welcome.html">Ploticus 2.3</a> to create the plots.
</p>

<h4>EMF Performance FAQ</h4>

<p style="color:black;font-size:11px">For additional information, please see the <a href="http://www.eclipse.org/emf/docs/performance/EMFPerformanceTestsFAQ.html">EMF Perfomance FAQ</a>.

</p>

		</blockquote>
</body></html>
