Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[wtp-dev] How do we improve WTP performance?


Team,

The performance tests are running again, results are available here[1]. So far, there's only one regression, and a bug has been opened for it. Although there's only one regression, I'm still concern about the performance of WTP because I've heard comments about WTP not performaning very well. I believe one of the reasons why these performance testcases/results do not give us a good picture of how well WTP is performing is because we don't have enough testcases. Off my head, I can think of a few common performance issues that we can easily run into, for example:

1. Memory leak from opening/closing editors/views/perspectives
2. Slow builders
3. Slow validators
4. Code making tons of internet connections
5. Resouce listeners being added, but never removed
6. Large files/workspaces

I'm sure there are others..... For some of these issues, it's very easy to write a performance testcase for, however, we are just not doing it. Take the "memory leak from opening/closing an editor" as an example, all we really need is the editor ID, and the code to open/close the editor is common for all editors. As a start to improve the performance of WTP, here's what I'm going to propose:

I suggest we establish a set of performance policies for our code. For example, we can say, each editor must be accompanied by a testcase that open & close it 100 times, etc... We can create common abstract testcases that can be reused. We can develop a tool that verifies whether these policies are met. We can run this tool as part of every build and post results on the build page. Missing testcases must be added asap. Hopefully, this will help us achieve better performance test coverage. Your comments/suggestions/objections are welcomed.

[1] http://apps.eclipse.org/webtools_performance/web/getScenarios.jsp

Thanks,

Jeff Liu

Back to the top