Community
Participate
Working Groups
I think it would be nice to have some performance tests available for individual observable implementations, mainly for observable lists/sets/maps which often inhibit a certain performance overhead as compared to normal, non-observable lists/sets/maps. Such performance tests might help us in discovering non-optimal implementations which can be optimized and they would also make it possible to get a feeling for the performance one might expect when working with different observable implementations. Ideally, the performance tests could be implemented in the same spirit as the observable conformance tests by using a delegate interface which performs the actual operations on an observable and which makes it possible to apply the performance tests to as much observable implementations as possible.
Ovidio, reassigning to you since you filed this bug :)
Created attachment 184000 [details] new performance test plugin Here's a new plugin which provides performance tests for observable list/set/map implementations. The plugin uses the Eclipse performance test framework so it requires the eclipse test framework plugins downloadable e.g. from [1]. The tests use a delegate interface to be able to run the same tests on different observable implementations. The main difference from the delegate interfaces of the existing conformance tests is that the interfaces used for the performance tests include delegate methods for all modification methods of a list/set/map. That way it's also possible to test observable implementations which are not directly modifiable. There is a launch target for launching the tests and dumping the results to the console included which should work out-of-the-box. Another launch target stores the results in a local DERBY database (the database used by the eclipse performance test framework). For the results stored in a database it's also possible to view the measurements in a (very hacky :) ) UI by launching the ObservablePerformanceTestResultView class (see the included launch target). For using the DERBY database stuff, it's necessary to create a plugin named org.apache.derby (an optional dependency of the performance plugin) in the workspace containing the derby jars as described in [2]. The tests are very simple but I think that they show up a few interesting things and I think that they might help in finding parts which might need some performance tweaking. Running all the tests currently takes about 5 minutes. Feedback is welcome :). [1] http://download.eclipse.org/eclipse/downloads/drops/R-3.6-201006080911/download.php?dropFile=eclipse-test-framework-3.6.zip [2] http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.test.performance/doc/Performance%20Tests%20HowTo.html?view=co
Matthew, what do you think about the general idea of introducing this kind of performance tests?
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.
Jens, WDYT?
No reply so I assume no one is interested in working on this one.