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.
Orion build 011107: It took longer time to get poppup menu for selected, e.g. 20, jsps than single jsp.
Damian, can you at least identify bottlenecks?
Created attachment 3492 [details] before_compilation
1) Before compilation: 1a) 15.57% - 473 ms - org.openide.loaders.DataNode.getCookie() 15.57% - 473 ms - org.netbeans.modules.web.core.jsploader.JspDataObject.getCookie() 10.73% - 326 ms - org.netbeans.modules.web.tomcat.compile.TomcatCompileContext.getDevelo pmentCompilation() 10.54% - 320 ms - org.netbeans.modules.web.tomcat.compile.TomcatCompileContext$TomcatDev elopmentCompilation.<init>() 10.54% - 320 ms - org.netbeans.modules.web.tomcat.compile.TomcatCompileContext$TomcatDev elopmentCompilation.initialize() 10.54% - 320 ms - org.netbeans.modules.web.tomcat.compile.ManglerImpl.<init>() 10.54% - 320 ms - org.netbeans.modules.web.tomcat.compile.ManglerImpl.initialize() 4.08% - 124 ms - org.netbeans.modules.web.core.jsploader.JspCompileUtil.suggestContextO utputRoot() 3.95% - 120 ms - org.netbeans.modules.web.tomcat.compile.ManglerImpl.computeJavaOutputD ir() 0.95% - 29 ms - org.netbeans.modules.web.tomcat.compile.ManglerImpl.computePackageName () 0.59% - 18 ms - org.netbeans.modules.web.tomcat.compile.ManglerImpl.computeClassFileDa ta() 0.55% - 17 ms - org.netbeans.modules.web.tomcat.compile.ManglerImpl.computeClassFileNa me() 0.39% - 12 ms - org.netbeans.modules.web.tomcat.compile.ManglerImpl.computeJavaFileNam e() 1b) 18.9% - 574 ms - org.openide.loaders.DataNode.getCookie() 18.9% - 574 ms - org.netbeans.modules.web.core.jsploader.JspDataObject.getCookie() 12.61% - 383 ms - org.netbeans.modules.web.tomcat.compile.TomcatCompileContext.getDevelo pmentCompilation() 12.61% - 383 ms - org.netbeans.modules.web.tomcat.compile.TomcatCompileContext$TomcatDev elopmentCompilation.<init>() 12.61% - 383 ms - org.netbeans.modules.web.tomcat.compile.TomcatCompileContext$TomcatDev elopmentCompilation.initialize() 12.05% - 366 ms - org.netbeans.modules.web.tomcat.compile.ManglerImpl.<init>() 12.05% - 366 ms - org.netbeans.modules.web.tomcat.compile.ManglerImpl.initialize() 4.8% - 146 ms - org.netbeans.modules.web.core.jsploader.JspCompileUtil.suggestContextO utputRoot() 4.77% - 145 ms - org.netbeans.modules.web.tomcat.compile.ManglerImpl.computeJavaOutputD ir() 1.08% - 33 ms - org.netbeans.modules.web.tomcat.compile.ManglerImpl.computeClassFileNa me() 0.82% - 25 ms - org.netbeans.modules.web.tomcat.compile.ManglerImpl.computePackageName () 0.55% - 17 ms - org.netbeans.modules.web.tomcat.compile.ManglerImpl.computeClassFileDa ta()
Created attachment 3506 [details] after_compilation
2) After compilation: 2a) 51.74% - 1125 ms - org.netbeans.modules.web.core.jsploader.JspDataObject.getCookie() 51.24% - 1114 ms - org.netbeans.modules.web.tomcat.compile.TomcatCompileContext.getDevelo pmentCompilation() 51.24% - 1114 ms - org.netbeans.modules.web.tomcat.compile.TomcatCompileContext$TomcatDev elopmentCompilation.<init>() 51.24% - 1114 ms - org.netbeans.modules.web.tomcat.compile.TomcatCompileContext$TomcatDev elopmentCompilation.initialize() 49.58% - 1078 ms - org.netbeans.modules.web.tomcat.compile.ManglerImpl.<init>() 49.58% - 1078 ms - org.netbeans.modules.web.tomcat.compile.ManglerImpl.initialize() 31.18% - 678 ms - org.netbeans.modules.web.tomcat.compile.ManglerImpl.computePackageName () 0.27% - 6 ms - java.lang.StringBuffer.toString() 0.27% - 6 ms - java.lang.String.replace() 17.01% - 370 ms - org.netbeans.modules.web.tomcat.compile.ManglerImpl.computeClassFileDa ta() 8.69% - 189 ms - org.netbeans.modules.web.tomcat.compile.ClassFileData.incrementNumber () 8.69% - 189 ms - org.netbeans.modules.web.tomcat.compile.ClassFileData.findClassName() 8.69% - 189 ms - org.apache.jasper.compiler.ClassName.getClassName() 8.69% - 189 ms - org.apache.jasper.compiler.ClassName.processClassData () 8.14% - 177 ms - org.apache.jasper.compiler.ConstantPool.read() 2.52% - 55 ms - java.io.DataInputStream.readByte() 1.83% - 40 ms - java.lang.StringBuffer.append() 0.78% - 17 ms - java.lang.StringBuffer.toString() 0.78% - 17 ms - java.io.DataInputStream.readUnsignedShort() 0.27% - 6 ms - java.lang.StringBuffer.<init>() 8.32% - 181 ms - org.apache.jasper.compiler.ClassName.getClassName() 8.04% - 175 ms - org.apache.jasper.compiler.ClassName.processClassData() 6.76% - 147 ms - org.apache.jasper.compiler.ConstantPool.read() 4.32% - 94 ms - java.io.DataInputStream.readByte() 3.77% - 82 ms - java.io.FileInputStream.read() 0.82% - 18 ms - java.lang.StringBuffer.toString() 0.55% - 12 ms - java.lang.StringBuffer.<init>() 0.5% - 11 ms - java.lang.StringBuffer.append() 0.27% - 6 ms - java.io.DataInputStream.readUnsignedShort() 0.27% - 6 ms - java.io.FileInputStream.<init>() 0.82% - 18 ms - org.netbeans.modules.web.core.jsploader.JspCompileUtil.suggestContextO utputRoot() 0.55% - 12 ms - org.netbeans.modules.web.tomcat.compile.ManglerImpl.computeJavaOutputD ir() 1.65% - 36 ms - org.netbeans.modules.web.tomcat.compile.TomcatCompileContext$TomcatDev elopmentCompilation.computeCurrentServletFileName() 2b) 38.27% - 832 ms - org.openidex.nodes.looks.NodeProxyLook.getCookie() 38.27% - 832 ms - org.openide.loaders.DataNode.getCookie() 38.27% - 832 ms - org.netbeans.modules.web.core.jsploader.JspDataObject.getCookie() 37.71% - 820 ms - org.netbeans.modules.web.tomcat.compile.TomcatCompileContext.getDevelo pmentCompilation() 37.71% - 820 ms - org.netbeans.modules.web.tomcat.compile.TomcatCompileContext$TomcatDev elopmentCompilation.<init>() 37.71% - 820 ms - org.netbeans.modules.web.tomcat.compile.TomcatCompileContext$TomcatDev elopmentCompilation.initialize() 20.88% - 454 ms - org.netbeans.modules.web.tomcat.compile.ManglerImpl.<init>() 20.88% - 454 ms - org.netbeans.modules.web.tomcat.compile.ManglerImpl.initialize() 18.07% - 393 ms - org.netbeans.modules.web.tomcat.compile.ManglerImpl.computeClassFileDa ta() 10.85% - 236 ms - org.netbeans.modules.web.tomcat.compile.ClassFileData.incrementNumber () 10.85% - 236 ms - org.netbeans.modules.web.tomcat.compile.ClassFileData.findClassName() 10.85% - 236 ms - org.apache.jasper.compiler.ClassName.getClassName () 10.57% - 230 ms - org.apache.jasper.compiler.ClassName.processClassData() 9.06% - 197 ms - org.apache.jasper.compiler.ConstantPool.read () 5.97% - 130 ms - java.io.DataInputStream.readByte() 0.59% - 13 ms - java.io.DataInputStream.readUnsignedShort() 0.55% - 12 ms - java.lang.StringBuffer.toString() 0.55% - 12 ms - java.lang.StringBuffer.append() 0.27% - 6 ms - java.io.FileInputStream.<init>() 7.22% - 157 ms - org.apache.jasper.compiler.ClassName.getClassName() 1.1% - 24 ms - org.netbeans.modules.web.tomcat.compile.ManglerImpl.computeJavaOutputD ir() 0.82% - 18 ms - org.netbeans.modules.web.core.jsploader.JspCompileUtil.suggestContextO utputRoot() 0.55% - 12 ms - org.netbeans.modules.web.tomcat.compile.ManglerImpl.computeClassFileNa me() 0.32% - 7 ms - org.netbeans.modules.web.tomcat.compile.ManglerImpl.computePackageName ()
Target milestone -> 3.3.1.
Set target milestone to TBD
Performance is top priority. Hence changing to defect.
Depends on changes in JSP compilation and viewing servlet feature
Changes in JSP compilation are planned to 4.0
Updating the target milestone to 4.0. Changing the status to STARTED, because the bug was already evaluated and it's planned to fix it in NB 4.0.
Radim, is there any way you could measure whether this has been improved? Thanks.
Fixed. Now popup menu on JSPs is fast.
It is better now. It means not optimal but at least it scales better. If I got it right improvements are removal of LookNode layer and compilation. Time to show popup menu for 1 selected JSP on my Linux RH7.1/800MHz/521MB/JDK1.4.2_02: NB3.5.1 1st use 200-250ms, next 90-160ms trunk (20040204) 1st use ~160, next 80-120ms Similar numbers for selection of 36 JSP files created from template NB3.5.1 1st invocation >1000ms, next ~500ms (~400 after compilation) trunk (20040204) 1st invocation ~500ms, next ~400ms. Of course the goal is to have numbers under 100ms (at least if one object is selected).
Thanks for the measurements. Out of curiosity, what are the numbers for TXTDataObject and for DefaultDataObject?
The very first popup menu pays some init cost. So I tried to invoke popup on folder 153, text 73, JSP 150. Generally text files are usualy within 100ms. Obviously numbers from your notebook are better :-)