JDE-2.3.3beta2 - Field and Method Completion

2003-06-19 Thread Jeba Bhaskaran
Field and Method completion seems to slow. There seems
to be at least 2 to 3 second delay in showing the
dialog box for possible completions. 

Jeba

__
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com


JDE-2.3.3beta2 - Field and Method Completion

2003-06-19 Thread Paul Kinnucan
Jeba Bhaskaran writes:
  Field and Method completion seems to slow. There seems
  to be at least 2 to 3 second delay in showing the
  dialog box for possible completions. 
  

The response time is a function of two factors: using Java
reflection to gather information about a  class to be completed
and the need to transmit this back to Emacs via standard I/O.

We cache the results of this process the first time any field
or method of a class is compled so that further completions
on that class should be very fast. I don't know how else to
speed up the process.

- Paul



[jde] JDE-2.3.3beta2 - Field and Method Completion

2003-06-19 Thread Paul Kinnucan
Raul Acevedo writes:
  Paul Kinnucan wrote:
  
Emacs is not multithreaded. You can try to interleave operations
between keystrokes but this is dicey. Further, the current file is
not necessarily ever going to be completed in the current session.
  
  Emacs Lisp isn't, but Emacs can start asynchronous processes.  If JDEE
  uses Java reflection, I'm assuming this is done in the BSH buffer...
  

Yes. I suppose. One possibility might be to start a process when
emacs starts up that builds a completion database for the entire
classpath in the background and ships it over to Emacs either via
standard I/O or via a temporary file. Provision would need to be
made for updating the database as files are compiled.

- Paul

  It's possible create multiple BSH buffers to handle multiple async
  requests.  You create a new one (up to a configurable max) when all
  others are busy, otherwise you pick the first free one.
  
  I did something like this for my MIT undergrad thesis, which was done in
  Emacs Lisp... it's been a while, but I'm sure something like this is
  possible.  It shouldn't even be that bad to set up, if you properly
  abstract how you dispatch a subprocess request.
  
One use is for the JDEE to build its own completion database, e.g.,
semantic, that does not rely on Java reflection. This approach has
been discussed at length on this list several times over the last
three years. Please refer to the archive for more info.
  
  Interesting.  I'll have to look it up...
  
  Raul



Re: [jde] JDE-2.3.3beta2 - Field and Method Completion

2003-06-19 Thread Jeba Bhaskaran
Compared to 2.3.2, 2.3.3beta2 Field and Method
completion is slow. In 2.3.2, completion was almost
instaneous, except the first time completion was
called.

Jeba
--- Paul Kinnucan [EMAIL PROTECTED] wrote:
 Raul Acevedo writes:
   Paul Kinnucan wrote:
   
 Emacs is not multithreaded. You can try to
 interleave operations
 between keystrokes but this is dicey. Further,
 the current file is
 not necessarily ever going to be completed in
 the current session.
   
   Emacs Lisp isn't, but Emacs can start
 asynchronous processes.  If JDEE
   uses Java reflection, I'm assuming this is done
 in the BSH buffer...
   
 
 Yes. I suppose. One possibility might be to start a
 process when
 emacs starts up that builds a completion database
 for the entire
 classpath in the background and ships it over to
 Emacs either via
 standard I/O or via a temporary file. Provision
 would need to be
 made for updating the database as files are
 compiled.
 
 - Paul
 
   It's possible create multiple BSH buffers to
 handle multiple async
   requests.  You create a new one (up to a
 configurable max) when all
   others are busy, otherwise you pick the first
 free one.
   
   I did something like this for my MIT undergrad
 thesis, which was done in
   Emacs Lisp... it's been a while, but I'm sure
 something like this is
   possible.  It shouldn't even be that bad to set
 up, if you properly
   abstract how you dispatch a subprocess request.
   
 One use is for the JDEE to build its own
 completion database, e.g.,
 semantic, that does not rely on Java
 reflection. This approach has
 been discussed at length on this list several
 times over the last
 three years. Please refer to the archive for
 more info.
   
   Interesting.  I'll have to look it up...
   
   Raul
 


__
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com