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.

Bug 17789 - Performance:getting popup menu for selected jsps should take less time.
Summary: Performance:getting popup menu for selected jsps should take less time.
Status: VERIFIED FIXED
Alias: None
Product: javaee
Classification: Unclassified
Component: Code (show other bugs)
Version: -FFJ-
Hardware: All All
: P3 blocker (vote)
Assignee: Petr Jiricka
URL:
Keywords: PERFORMANCE
Depends on: 29944
Blocks: 26581
  Show dependency tree
 
Reported: 2001-11-16 22:33 UTC by _ hlu
Modified: 2004-02-05 14:05 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
before_compilation (35.81 KB, text/plain)
2001-11-20 11:52 UTC, Damian Frach
Details
after_compilation (24.50 KB, text/plain)
2001-11-21 09:55 UTC, Damian Frach
Details

Note You need to log in before you can comment on or make changes to this bug.
Description _ hlu 2001-11-16 22:33:58 UTC
Orion build 011107:

It took longer time to get poppup menu for selected, e.g. 20, jsps than single jsp.
Comment 1 _ rkubacki 2001-11-19 21:53:46 UTC
Damian, can you at least identify bottlenecks?
Comment 2 Damian Frach 2001-11-20 11:52:28 UTC
Created attachment 3492 [details]
before_compilation
Comment 3 Damian Frach 2001-11-20 11:56:17 UTC
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()

Comment 4 Damian Frach 2001-11-21 09:55:16 UTC
Created attachment 3506 [details]
after_compilation
Comment 5 Damian Frach 2001-11-21 10:01:43 UTC
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
()
Comment 6 Jan Chalupa 2001-11-27 17:37:13 UTC
Target milestone -> 3.3.1.
Comment 7 Marek Grummich 2002-07-22 12:09:11 UTC
Set target milestone to TBD
Comment 8 Marek Grummich 2002-07-22 12:17:41 UTC
Set target milestone to TBD
Comment 9 _ rkubacki 2002-12-11 13:53:02 UTC
Performance is top priority. Hence changing to defect.
Comment 10 _ rkubacki 2003-01-16 13:57:35 UTC
Depends on changes in JSP compilation and viewing servlet feature
Comment 11 _ rkubacki 2003-01-23 13:15:53 UTC
Changes in JSP compilation are planned to 4.0
Comment 12 psuk 2003-02-20 14:30:41 UTC
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.
Comment 13 Petr Jiricka 2004-01-28 20:23:16 UTC
Radim, is there any way you could measure whether this has been improved?
Thanks.
Comment 14 Petr Jiricka 2004-02-04 19:42:25 UTC
Fixed. Now popup menu on JSPs is fast.
Comment 15 _ rkubacki 2004-02-05 12:54:07 UTC
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).
Comment 16 Petr Jiricka 2004-02-05 13:39:12 UTC
Thanks for the measurements. Out of curiosity, what are the numbers
for TXTDataObject and for DefaultDataObject?
Comment 17 _ rkubacki 2004-02-05 14:05:31 UTC
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 :-)