The TestObject.uniquifyName still has major performance issues.
The AppTest.java doesn't test the original problem (test with the same name) and therefore you might think that this issue is solved. I slightly changed the AppTest.java in order to see the problem. (I will attach the new AppTest.java to this bug)
The problem with the old AppTest.java is that all testnames are different and this results in a bit of a fastpath in uniquifyName.
How To Reproduce:
Test the new AppTest.java
Go the summary page of the build.
A number of tests will be failed now.
Click on a failed test (not the first one!) to see the detail.
The last click will result in 100%cpu for a very long time.
Other bottlenecks: CaseResult.getPreviousResult; and getSafeName called from other threads (context menu).