Lowell, Charles (Thoughtworks) writes: > > Hi all, > > Since most of the time I use the normal emacs text completion anyway this > hasn't been much of an issue for me, but I too have had performance issues > with field/method completion. My classpath is absolutely enormous, yet > import, and navigating to source are pretty much instantaneous. In fact, so > is completion, with the exceptionof the first time that I try it within a > class. All subsequent times I use completion, the menu appears with no > appreciable delay.
This is expected behavior. The first time you do completion, the JDEE builds and caches a hash table of all the classes on the classpath. Successive completions require only a hash table lookup, which is very fast even for large classpaths. - Paul > Don't know if this is relevant at all to your problem or > not, but I figured I'd mention it. > > cheers, > Charles > > > -----Original Message----- > > From: Paul Kinnucan [mailto:[EMAIL PROTECTED]] > > Sent: 12 April 2002 14:41 > > To: Elias Biris > > Cc: Paul Kinnucan; JDE List (E-mail) > > Subject: RE: Speeding up the BeanShell? > > > > > > Elias Biris writes: > > > thanks for the reply: > > > > > > The changes that you suggest do not sort my problem. Even > > without the jars in the classpath the Beanshell cannot find > > the requested classes promptly enough. Also my code base is > > already quite large. > > > > I don't know why this should be so. It works quite promptly > > on my system > > for finding JDK source files. Does your application include > > more classes > > than the JDK? > > > > Also do you have the same performance problem with the import class > > command (C-c C-v C-z)? The only thing that the source file finder uses > > the Beanshell for is to find the qualified name of the class. If the > > Beanshell is the problem, you should see the same problem with all > > JDE commands that use the Beanshell, including the import command > > and field and method completion. > > > > > > > > On another aspect, the invocation of the beanshell is done > > via the command: > > > > > > > > Q:\Dir_1;Q:\dir_2;Q:\dir_3;Q:\dir_4;f:/Programs/emacs/site_lis > > p/jde/jde-2.2.9beta9.1/java/bsh > > commands;c:/jdk1.3.1/lib/tools.jar;f:/Programs/emacs/site_lisp > > /jde/jde-2.2.9beta9.1/java/lib/checkstyle.jar;f:/Programs/emac > > s/site_lisp/jde/jde-2.2.9beta9.1/java/lib/jakarta-regexp.jar;f > > :/Programs/emacs/site_lisp/jde/jde-2.2.9beta9.1/java/lib/jde.j > > ar;f:/Programs/emacs/site_lisp/jde/jde-2.2.9beta9.1/java/lib/bsh.jar > > > > > > > > > Does that mean that the Beanshell picks all the jars in > > that classpath as well for searching? > > > > Yes. > > > > >In that case removing the extraneous jars from my classpath > > does not make any difference as they get picked up from the command > > > > It would make a difference because they would be included > > twice, once by you and once > > by the JDE (bsh.jar and jde.jar) and once by the JDK > > (rt.jar). I'm not convinced yet > > that the problem is the Beanshell. > > > > - Paul > > >
