Bug 42196 - Method popup extremely slow for JOGL code
Summary: Method popup extremely slow for JOGL code
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.0   Edit
Hardware: Macintosh Mac OS X - Carbon (unsup.)
: P3 major (vote)
Target Milestone: 3.0 M4   Edit
Assignee: David Audel CLA
QA Contact:
URL:
Whiteboard:
Keywords: performance
Depends on:
Blocks:
 
Reported: 2003-08-27 20:03 EDT by Scott Ellsworth CLA
Modified: 2003-10-08 07:29 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Scott Ellsworth CLA 2003-08-27 20:03:54 EDT
The java gaming initiative has made JOGL a front runner for code development.  Because this is a 
direct port of OpenGL, the GL class has a great number of methods and static final constants in it.  
These cause the method popup in the editor to show up very, very slowly.

import net.java.games.jogl.*;
import net.java.games.jogl.util.*;

public class Test
{
    public void display(GLDrawable gLDrawable)
    {
      final GL gl = gLDrawable.getGL();
      gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
    }
 }

Start typing a duplicate of the second line of display into the function.  On my TiBook 667 with 
10.2.6 running Eclipse 3.0M2, I see roughly a six second CPU peg when I type gl., and roughly a 
three second CPU peg when I type GL..

I believe this is different than the previously reported problems with the function popup, as those 
seemed relatively unaffected by the number of methods, while the behavior in this bug seems to 
scale nonlinearly.
Comment 1 Scott Ellsworth CLA 2003-08-27 20:05:18 EDT
A build of JOGL for MacOS X 10.2 can be found at <http://homepage.mac.com/fuz>.  This tgz file 
contains the needed jar file to reproduce the problem.
Comment 2 Philipe Mulet CLA 2003-08-28 03:42:54 EDT
pls investigate
Comment 3 David Audel CLA 2003-09-01 05:39:36 EDT
The problem come from the great number of methods and fields.
A lot of time is spent to find methods parameters name and to avoid to propose 
the same completion twice.

The performance of these algorithms is improved.

In the previous test case the completion pop up approximatively three time 
faster with the improvment (computation of the completions is five time faster).

Fixed.
Comment 4 David Audel CLA 2003-10-08 07:29:46 EDT
Verified.