diff options
author | Michael Valenta | 2004-06-01 13:53:59 +0000 |
---|---|---|
committer | Michael Valenta | 2004-06-01 13:53:59 +0000 |
commit | bf194934d71d426a2a5de8a23c49a100826846f1 (patch) | |
tree | b6b3de85038ac71ebe5c183627b3ea6519b9618f | |
parent | 4965b02542d1df6b9bd2d0643ad41c276c1663d7 (diff) | |
download | eclipse.platform.team-bf194934d71d426a2a5de8a23c49a100826846f1.tar.gz eclipse.platform.team-bf194934d71d426a2a5de8a23c49a100826846f1.tar.xz eclipse.platform.team-bf194934d71d426a2a5de8a23c49a100826846f1.zip |
Added performance test plans
6 files changed, 127 insertions, 8 deletions
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/perf00002.html b/tests/org.eclipse.team.tests.cvs.core/html/perf00002.html index ed09186d1..70af47df6 100644 --- a/tests/org.eclipse.team.tests.cvs.core/html/perf00002.html +++ b/tests/org.eclipse.team.tests.cvs.core/html/perf00002.html @@ -4,10 +4,23 @@ <meta NAME="since" content=""> </head><h2>Timings</h2> <p>Since: 3.0<br> -Last Modified: $Date: 2004/05/31 14:22:48 $</p><body> +Last Modified: $Date: 2004/05/31 20:24:10 $</p><body> This section contains various timing results and comparisons. +<h3>Overview</h3> + +The purpose of this section is to provide a small set of tests that can +be used to benchmark the Eclipse CVS client. The areas tested are: + +<ol> +<li>Checkout +<li>Synchronizing +<li>Updating +</ol> + +<h3>Setup</h3> + The following should be considered when obtaining timings: <ul> @@ -72,7 +85,7 @@ in 393 incoming changes. <li>CLI over pserver: 0:45 ("cvs -n update") </ul> -The timing for Eclipse also includes the status commadn to fetch the revisions for the 393 incoming changes. +The timing for Eclipse also includes the status command to fetch the revisions for the 393 incoming changes. <h3>Update</h3> diff --git a/tests/org.eclipse.team.tests.cvs.core/html/perf00003.html b/tests/org.eclipse.team.tests.cvs.core/html/perf00003.html index 7743f6f90..0dfcb0495 100644 --- a/tests/org.eclipse.team.tests.cvs.core/html/perf00003.html +++ b/tests/org.eclipse.team.tests.cvs.core/html/perf00003.html @@ -1,10 +1,10 @@ -<html><head><title>Memory Usage</title> +<html><head><title>Memory Footprint</title> <LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css> <meta NAME="keywords" content=""> <meta NAME="since" content=""> -</head><h2>Memory Usage</h2> +</head><h2>Memory Footprint</h2> <p>Since: <br> -Last Modified: $Date: 2004/05/31 14:22:48 $</p><body> +Last Modified: $Date: 2004/05/31 20:24:10 $</p><body> This section contains some accumulated memory usage statistics diff --git a/tests/org.eclipse.team.tests.cvs.core/html/perf00004.html b/tests/org.eclipse.team.tests.cvs.core/html/perf00004.html index 0db7208ab..5174b4e1a 100644 --- a/tests/org.eclipse.team.tests.cvs.core/html/perf00004.html +++ b/tests/org.eclipse.team.tests.cvs.core/html/perf00004.html @@ -3,8 +3,28 @@ <meta NAME="keywords" content=""> <meta NAME="since" content=""> </head><h2>Resource Data Structures</h2> -<p>Since: <br> -Last Modified: $Date: 2004/05/31 14:22:48 $</p><body> +<p>Since: 3.0<br> +Last Modified: $Date: 2004/05/31 20:24:10 $</p><body> + +This section contains results on memory footprint of CVS in the Core resource +plugin data structures. More specifically, CVS uses the session and persistant property +caches along with the synchronizer. + +<h3>CVS Workspace Sync info caches</h3> + +Checking of the cahce usage requires the use of the Core spy tools. To +obtain the memory footprint, perform the following steps. + +<ol> +<li>Install the Core Spy Tools +<li>Launch Eclipse +<li>Checkout several projects +<li>Open the Element Tree Spy to get the memory footprint. At the +time of writting, CVS is the main user of these structures. In future +test, ensure that others are not contributing to the tally. +<li>Disconnect all the projects +<li>The Element Tree Spy memory footprint should be reduced accordingly +</ol> The following snapshot of the resource element tree was taken after checking out all of the projects (294 as of 2004/05/31) in dev.eclipse.org. @@ -59,4 +79,19 @@ The top 20 equal but non-identical strings are: src->184 package.html->165 </pre> + +<h3>CVS Merge memory usage</h3> +Merging in CVS makes use of the Core synchronizer. Perform the following steps +with the Core Spy Tool installed to +ensure proper memory management. + +<ol> +<li>Checkout one or more projects +<li>Open the Element Tree Spy to get the memory footprint. +<li>Perform a merge +<li>Open the Element Tree Spy to get the memory footprint. The only increase +should be in the synchronizer. +<li>Remove the merge from the sync view +<li>The Element Tree Spy memory footprint should be reduced accordingly +</ol> </body></html>
\ No newline at end of file diff --git a/tests/org.eclipse.team.tests.cvs.core/html/perf00005.html b/tests/org.eclipse.team.tests.cvs.core/html/perf00005.html new file mode 100644 index 000000000..a5a8dcf73 --- /dev/null +++ b/tests/org.eclipse.team.tests.cvs.core/html/perf00005.html @@ -0,0 +1,36 @@ +<html><head><title>Looking For Leaks</title> +<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css> +<meta NAME="keywords" content=""> +<meta NAME="since" content=""> +</head><h2>Looking For Leaks</h2> +<p>Since: <br> +Last Modified: $Date: 2004/05/31 20:01:46 $</p><body> + +<h3>Removing synchronize view entries</h3> + +<ol> +<li>Start with an empty synchronize view +<li>Create an entry in the Synchronize view for each of the following cases: + <ul> + <li>Team>Synchronize + <li>Compare with>Branch or Version + <li>Team>Merge + </ul> +<li>Open the context menu +<li>Select all mode and layout combinations +<li>Remove the entry (making the sync view empty). +<li>Select an item in another view +<li>Using a memory profiler, look for instances of the following classes: + <ul> + <li>ISynchronizeParticipant + <li>SynchronizeModelElement + <li>SyncInfo/SyncInfoSet + </ul> +</ol> + +<h3>Closing the Synchronize view</h3> + +Close all instances of the Synchronize view and ensure that no instances +of ISynchronizeView remain. + +</body></html>
\ No newline at end of file diff --git a/tests/org.eclipse.team.tests.cvs.core/html/perf00006.html b/tests/org.eclipse.team.tests.cvs.core/html/perf00006.html new file mode 100644 index 000000000..79aebf13c --- /dev/null +++ b/tests/org.eclipse.team.tests.cvs.core/html/perf00006.html @@ -0,0 +1,31 @@ +<html><head><title>Team Data Structures</title> +<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css> +<meta NAME="keywords" content=""> +<meta NAME="since" content=""> +</head><h2>Team Data Structures</h2> +<p>Since: <br> +Last Modified: $Date: 2004/05/31 20:01:46 $</p><body> + +The Team component provides several data strucutures that can be used to +cache resource synchronization state and resource variants for improved +performance. The plan is to provide tools to interogate these caches in the 3.1 timeframe. + +These caches include: + +<ul> +<li>Resource Variant cache +<li>SubsciberParticipant/SyncInfoSet +</ul> + +<h3>CVS Specific data structures</h3> + +CVS uses several caches to improve performance. Tools should be provided to query the +size of these caches as well. + +<ul> +<li>Console (caches contents while not visible) +<li>Resource History View log entry cache +<li>Commit Sets log entry cache +</ul> + +</body></html>
\ No newline at end of file diff --git a/tests/org.eclipse.team.tests.cvs.core/toc.xml b/tests/org.eclipse.team.tests.cvs.core/toc.xml index 81670805e..6f3faeaa0 100644 --- a/tests/org.eclipse.team.tests.cvs.core/toc.xml +++ b/tests/org.eclipse.team.tests.cvs.core/toc.xml @@ -112,9 +112,13 @@ <topic label="Performance" href="html/perf00001.html"> <topic label="Timings" href="html/perf00002.html"> </topic> - <topic label="Memory Usage" href="html/perf00003.html"> + <topic label="Memory Footprint" href="html/perf00003.html"> <topic label="Resource Data Structures" href="html/perf00004.html"> </topic> + <topic label="Looking For Leaks" href="html/perf00005.html"> + </topic> + <topic label="Team Data Structures" href="html/perf00006.html"> + </topic> </topic> </topic> </toc> |