thecocce / pyscripter

Automatically exported from code.google.com/p/pyscripter
0 stars 0 forks source link

Auto-completion is dead slow for large projects! #239

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Open a large project. Something like 1000 files and 20 packages.
2. Try writing code in it.

What is the expected output? What do you see instead?
Anytime I type a "." or a "(", PyScripter freezes for 2 to 6 seconds while
trying to give me tooltips for auto-completion. This basically makes the
editor impossible to work with.

What version of the product are you using? On what operating system?
PyScripter 1.9.9.2 on Windows 2000.

Please provide any additional information below.
I think we went through this before. I believe this is not a proper "bug",
but just the completion algorithm which is too slow for large projects. I
can't provide an example because I would have to send you an entire
project. I believe you might be able to verify this behavior if you get a
large Qt code-base (Eric3 comes to mind, but maybe many others).
Meanwhile, I strongly suggest that an option "disable auto-completion,
tooltips and whatever" is added to PyScripter, so that I can keep on using
it. Right now, I'm basically moving away from it just because of this.
Thanks!

Original issue reported on code.google.com by giovanni...@gmail.com on 21 Jul 2008 at 3:57

GoogleCodeExporter commented 9 years ago
I will try to further optimize this feature.  However you may want to turn
autocompletion off when working with such projects.

This usually the result of using 

from xxx import *  statements which in any case should be avoided.

Original comment by pyscripter on 10 Aug 2008 at 10:59

GoogleCodeExporter commented 9 years ago
I have the same problem . Pyscripter used to work well for years on my different
computers until this month.

Original comment by Kurzansk...@gmail.com on 8 Nov 2008 at 9:45

GoogleCodeExporter commented 9 years ago
Speed ups were implemented in the parsing of modules in version 1.9.9.7.

Further optimization is possible.

Original comment by pyscripter on 22 May 2009 at 11:02

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
This week I moved from 1.9.9.2 to 1.9.9.7 on Win XP Professional SP2
However, it is MUCH slower for objects with many members.

This particular (rather essential) object has 15699 members.
the autocomplete listbox gets up in
- 2 secs in 1.9.9.2
- 52 secs in 1.9.9.7

Therefore, we'll stick to 1992 for a while.

Original comment by n.j.degr...@gmail.com on 27 May 2009 at 10:40

GoogleCodeExporter commented 9 years ago
Can you do me a favour.  Can you try with 1.9.9.6 and compare it to 1.9.9.7?

Original comment by pyscripter on 27 May 2009 at 8:40

GoogleCodeExporter commented 9 years ago
This issue seems to have returned with the most recent update.

Original comment by sgart...@gmail.com on 5 Aug 2010 at 12:50

GoogleCodeExporter commented 9 years ago
I have the same problem on three machines running PyScripter 2.1.1 on Win XP 
pro 32. Even on projects much smaller than mentioned in comment 5, the editor 
regularly hangs up for several seconds. This happens not only for typing 'x.' 
but also when scrolling, adding linebreaks or moving the cursor. 

In my case I remember PyScripter 1.9.9.7 being the best working. (Though this 
was the first version I ever tried)

Original comment by sebavo...@googlemail.com on 8 Sep 2010 at 7:17

GoogleCodeExporter commented 9 years ago
Implemented caching of parsed modules in version control, and background 
parsing of open files. This should provide some significant speedup, at least 
the second time auto-completion is used.  

Also those of you still using XP you should see a significant speed up.  The 
reason versions later than 1.9.2 became slower is that I started using unicode 
strings in file parsing.  XP's implementation of unicode strings is dead slow 
(in became much faster on Vista and later).  From version 2.2 PyScripter uses a 
native unicode string type and not the Windows one, so it should be much faster 
on XP.

Please try the new version 2.2.x when it becomes available and report here your 
experience.

Original comment by pyscripter on 4 Oct 2010 at 10:25