Community
Participate
Working Groups
The perf results verification for N20090228-2000 build show that a regression may have occurred for RenamePackagePerfTests1#test_1000_10() scenario since N20090212-2000 build. It's only clear on one machine (REHL 5.0), the test is really unstable on other machines, hence the regression cannot be confirmed. Here are the numbers for REHL 5.0 machine since 3.5M5: builds Rename package - 1000 CUs, 10 Refs M4 I20081211-1908 -3.4% M5 I20090202-1535 1.5% I20090203-1200 -1.4% N20090205-2000 -2.1% I20090210-0950 -0.4% N20090212-2000 -2.6% I20090217-2200 -3.7% N20090219-2000 -3.8% I20090224-0800 -3.4% N20090226-2000 -4.4% N20090228-2000 -6.4% I decided to open a bug, even if it's not confirmed because the regression is over 400ms on this machine, hence may be now noticeable by users...
FYI, the same potential issue may also occurs for the scenario org.eclipse.jdt.ui.tests.refactoring.reorg.RenameMethodPerfTests1#test_1000_10() The numbers are: M4 I20081211-1908 -1.2% M5 I20090202-1535 -3.9% I20090203-1200 -11.5% N20090205-2000 -9.0% I20090210-0950 -2.4% N20090212-2000 -1.8% I20090217-2200 -3.9% N20090219-2000 -2.8% I20090224-0800 -2.7% N20090226-2000 -4.6% N20090228-2000 -3.7% I20090303-0800 -3.1% N20090305-2000 -3.0% N20090307-2000 -3.7% I20090308-2000 -3.9% I20090309-0100 -9.0% But I'm also not sure whether there's something real here or not and if it's related to the Rename Package test...
May be also a consequence of fix for bug 250454...?
Those tests runs only once and hence aren't stable enough. I've fixed this in HEAD and perf_34x.
I still see a similar regression looking at I20090414-0800 perf results. Note that one could see the changes done on this test in the last baseline...
Agree. We're still looking into it.
The interval in which the numbers are is so big that it is almost impossible to find out why there is a regression because many runs to generate a trace are faster on 3.5 than on 3.4. From what I see in my profiler the reason for this nondeterministic behavior is that once we start the refactoring of those 1000 files the Java indexer sometimes blocks files at the OS level which at the same time need to be accessed from the main thread. I suspect that the indexer does a little bit more work (e.g. due to constructor proposals) and maybe even touches more files and hence more potentials for short blocking. Given this is a corner case (renaming 1000 cus at once) and that the seen regression is not too big we won't invest more time into this, however, I have removed the tests from the fingerprint.
Verified for M7 with I20090430-2300 results