This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Performance test reports there is a regression in time of Create Mobility Project action on Windows XP and Vista: WinXP 1st run: 60% increase from 16 to 26 s, subsequent run: 108% increase from 6 to 13 s WinVista 1st run: 42%, 17 to 24 s subsequent run: 64%, 8 to 14 s Threshold is 20 s for 1st run and 10 s for subseqent runs
maybe some additional time added by creating example midlet /from visual designer?/
I did some profiling (suspect because it was done on a 1GB windows machine, so some "profiling" data may actually be the profiled VM's heap being swapped in and out of memory). A few interesting tidbits: - After startup with no projects opened, pressing the Finish button in the new mobility project wizard results in ~10000 classes being loaded. Has all the work on reducing startup classloading moved a lot more of the work here? - There seems to be some contention happening for the ProjectManager's mutex - the AWT thread spends 40% of its time in QueueCell.sleep(), which suggests that another thread has it locked. This call is from the post-creation task's code that generates the sample midlet, which probably doesn't need to be run on the AWT thread. An ugly fix might be to move that code to another thread, get the DataObject and use its OpenCookie to open it when it's done.
Created attachment 70833 [details] Potential fix for testing
I've attached a patch that *may* fix the problem. It does two things: - Generation and opening of the sample midlet are done on a background thread *after* project opening - When the NewProjectIterator class is loaded for the first time, it will start a low-priority background thread which does classloading in the background of a list of classes which will be needed when the user clicks Finish (if the thread is still running, it is aborted so its work does not slow down project creation) mrkam: would you be able to run the performance tests with this patch to test if it has improved things? I'm currently working on a 1GB laptop, so any results I would get (if I knew how to run this test) would probably be meaningless.
Created attachment 70835 [details] Minor improvement to patch
Hotfix committed. Please verify. 104458 f9ecaa202ca7 104456 201c850c4925
I can't say for sure whether it helped. Please see the link http://test-db.czech.sun.com:8080/PerformanceDashboard/atomicResult.jsp?projectId=1&buildNumber=081006&suiteName=Actions&resultName=testCreateMobilityProject&resultClassname=org.netbeans.performance.mobility.actions.CreateMobilityProject&history=80 It looks like results were improved on Windows Vista only.