Difference between revisions of "WTP Performance Tests"

From Eclipsepedia

Jump to: navigation, search
(Best Practices)
Line 121: Line 121:
 
* The first iterations of the above for-loop will generally take more time because the code is not optimized by the JIT compiler yet. This can introduce some variance to the measurements, especially if other tests run before and change in some way that affects the JIT's optimization of the measured code. A simple way to stabilize the measurements is to run the code a few times before the measurements start. Caches also need special caution as they can affect the measurements.
 
* The first iterations of the above for-loop will generally take more time because the code is not optimized by the JIT compiler yet. This can introduce some variance to the measurements, especially if other tests run before and change in some way that affects the JIT's optimization of the measured code. A simple way to stabilize the measurements is to run the code a few times before the measurements start. Caches also need special caution as they can affect the measurements.
 
* As a rule of thumb the measured code should take at least 100ms on the target machine in order for the measurements to be relevant. For example, Windows' and Linux 2.4's system time increases in 10ms steps. In some cases the measured code can be invoked repeatedly to accumulate the elapsed time, however, it should be kept in mind that JIT could optimize this more aggressively than in real-world scenarios.
 
* As a rule of thumb the measured code should take at least 100ms on the target machine in order for the measurements to be relevant. For example, Windows' and Linux 2.4's system time increases in 10ms steps. In some cases the measured code can be invoked repeatedly to accumulate the elapsed time, however, it should be kept in mind that JIT could optimize this more aggressively than in real-world scenarios.
 +
* There needs to be a set of "larger scale" tests that can be used by adopting products, to ensure that the performance of WTP has not regressed. You can think of these as assurance performance tests. These would work on large workspaces, and would cover the operations that could take a long time. (Import/Build and Deploy). These tests need to measure both elapsed time as well as memory. Typically these tests take minutes to run.
  
 
== Reference Material ==
 
== Reference Material ==

Revision as of 12:36, 29 September 2008

Contents

WTP Performance Cross Team

The goal of the team is to revive the WTP Performance tests. The test execution had to be moved to another server and there are still problems with setting up the execution environment. It was decided to start over WTP Performance tests with something small - each team will contribute some simple tests and after having successfully setup this, we will continue building on top.

Team Lead: Kaloyan Raev

Each WTP project team contributes one person who will participate in the WTP Performance Cross Team. See the list of participants below.

Status Meeting

Meetings are held on Monday's, 12 Noon to 1 PM Eastern Time.

Dial-in numbers:

Toll Free: 877-421-0030
Toll (USA): 770-615-1247
Participant Passcode: 269746
Full list of phone numbers

Meeting Minutes

Next meeting: 2008-09-29

September
2008-09-22 (let's skip this one - holiday in Bulgaria)
2008-09-15
2008-09-08
2008-09-01 (canceled)
August
2008-08-25
2008-08-18
2008-08-11
2008-08-04
July
2008-07-28
2008-07-21

Team Members

Team Participant
Common Gary Karasiuk
Server Angel Vera
Webservices Mark Hutchinson
Source Editing Nick Sandonato
JEE Tools Carl Anderson
EJB Tools Kaloyan Raev
JSF Tools Raghu Srinivasan
Dali Neil Hauge
Releng David Williams

Initial Tests

Each component should continue to identify a single test case that should work correctly.

Team Testcase
Common
Server org.eclipse.wst.server.tests.performance.StartupExtensionTestCase
Webservices plugin: org.eclipse.jst.ws.tests.performance

test: org.eclipse.jst.ws.tests.axis.tomcat.v50.perfmsr.PerfmsrClientAxisTC50
vmargs: -Dorg.eclipse.jst.server.tomcat.50=<tomcat 5 install location> -Dtomcat50Dir=<tomcat 5 install location>

Source Editing org.eclipse.wst.xml.ui.tests.performance.FormatTest
JEE Tools org.eclipse.jst.j2ee.tests.performance.TestCaseSAXParser
EJB Tools org.eclipse.jst.j2ee.tests.performance.EJBProjectCreationTestCase
JSF Tools
Dali org.eclipse.jpt.core.tests.internal.performance.JpaPerformanceTests

testFacetInstallUninstallPerformance

Latest Results

WTP 2.0
WTP 2.0.1 (run on the new system as a basis for reference)

Known Issues

  • Performance Test Bugs and Enhancements
  • Improve the actual tests. Why do some take so long? Why do some results fluctuate? Why do some have drastic performance degradations? Are the tests even still valid?

Best Practices

  • The first iterations of the above for-loop will generally take more time because the code is not optimized by the JIT compiler yet. This can introduce some variance to the measurements, especially if other tests run before and change in some way that affects the JIT's optimization of the measured code. A simple way to stabilize the measurements is to run the code a few times before the measurements start. Caches also need special caution as they can affect the measurements.
  • As a rule of thumb the measured code should take at least 100ms on the target machine in order for the measurements to be relevant. For example, Windows' and Linux 2.4's system time increases in 10ms steps. In some cases the measured code can be invoked repeatedly to accumulate the elapsed time, however, it should be kept in mind that JIT could optimize this more aggressively than in real-world scenarios.
  • There needs to be a set of "larger scale" tests that can be used by adopting products, to ensure that the performance of WTP has not regressed. You can think of these as assurance performance tests. These would work on large workspaces, and would cover the operations that could take a long time. (Import/Build and Deploy). These tests need to measure both elapsed time as well as memory. Typically these tests take minutes to run.

Reference Material

Performance wiki page
How to Write an Eclipse Performance Test
Sample Eclipse Performance Results
Article Automating Eclipse PDE Unit Tests using Ant
Bugzilla: (performance tests) No Results for WTP Tests


Back to Web Tools Wiki Home