Community
Participate
Working Groups
This defect is for tracking changes made for performance improvements made from profiling the VE.
Minor: Released palette when rebuilt is placed into to palette root as one unit rather than each individual category removed and then added back. This will allow the rebuild of the palette to be one chunk.
The new TypeResolver has been released. This increases the performance load model (i.e. just the parsing of the AST done to create the EMF model) by 25% or more.
Released to HEAD some minor performance improvements. Add concept of invokable in proxy so that if you are calling a method only once or twice there is no need to get the method proxy first. This has the advantage of no extra turn-around with the remote vm. The find method and invoke is done all in one transation. Some other minor ones too.
Released to HEAD code to: 1) Use invoke invokable instead of invoke methodproxy for most places where a method is infrequently invoked and so we don't need the overhead of an extra call to get a method proxy. 2) Have a spare vm sitting around for a project so that while java ve's are active they don't need to create a new editor. There will be one available for them to use immediately.
*** Bug 49926 has been marked as a duplicate of this bug. ***
FYI: The bugs in depends on list at the top are other specific bugzilla bugs used for tracking specific performance changes. This bug is for small ones that don't need a separate bug and to use as an anchor to find all of the specific performance bugs thru the depends on list.
Calls to IWorkbenchPage.showView in JavaVisualEditorPart.openVCEViewersIfRequired should specify IWorkbenchPage.VIEW_VISIBLE to avoid unnecessary flashing and negate the need to reactivate the editor. YourKit measurements shows this reduces openVCEViewersIfRequired's contribution from 350ms to 20ms.
Updated JavaVisualEditorPart.openVCEViewersIfRequired() with calls to showView with IWorkbenchPage.VIEW_VISIBLE to avoid unnecessary flashing and negate the need to reactivate the editor. Code released to HEAD and will be in the next nightly build.
Released a mostly complete fix for Bug 82099. See Bug 82099 for Decoders API changes.
It's a minor nugget but could help improve performance for applications that are fairly large - reduce the thread of the job that starts the spare remote VM. This VM is launched 10 secs after the first remote VM is launched and is used for the subsequent editor that is opened. Since some applications may take more than 10-20 secs, the running of this job... although fairly quick... still takes away a few cycles which could impact the current editor coming up.
Changed JavaVisualEditorVMController to reduced job thread priority for starting the spare remote vm. When job is finished, restored thread to original priority. Code released on 1/14/05. Should be in the first VE 1.1 build.
Minor: I took one final look at the gif reload question and noted the code in ReloadAction was recreating the image descriptor each time its check state changed (e.g., CDEPlugin.getImageDescriptorFromPlugin(JavaVEPlugin.getPlugin (), "icons/full/cview16/play.gif")). While not a huge boo-boo in the grand scheme of things, it does traipse through some fairly non-trivial code like Platform.find(Bundle, Path) and defeats the checks in Action (this class checks in its set methods for a "non change", which fails for setImageDescriptor in this case). It's a trivial correction and one that Eclipse code follows systematically: private void setCorrectText() { if (isChecked()) { setToolTipText(CodegenEditorPartMessages.getString ("JVE_STATUS_MSG_RELOAD")); //$NON-NLS-1$ setText(getToolTipText()); setHoverImageDescriptor(PLAY_IMAGE_DESCRIPTOR); } else { setToolTipText(CodegenEditorPartMessages.getString "JVE_STATUS_MSG_PAUSE")); //$NON-NLS-1$ setText(getToolTipText()); setHoverImageDescriptor(PAUSE_IMAGE_DESCRIPTOR); } } I promoted the CDEPlugin.getImageDescriptorFromPlugin(JavaVEPlugin.getPlugin (), "icons/full/cview16/play.gif") up to a constant and some NL strings. I encourage you to be on the lookout for these sorts of "good hygiene issues" during your analysis. It's no-brainer corrections that add up.
Created attachment 17285 [details] ReloadAction with minor corrections (save image descriptor, NL text)
*** Bug 86104 has been marked as a duplicate of this bug. ***
*** Bug 77674 has been marked as a duplicate of this bug. ***