eric ide

Issue63

Classification
Title: Saving lasts too long
Type: behavior Product: eric4
Process
Priority: high    
Status: closed Resolution: works for me
Superseder: Nosy List: detlev, human-man
Assigned to: detlev Keywords:

Created on 2012-05-28.23:18:26 by human-man, last changed by human-man.

Messages (12.0)
msg243 (view) Author: human-man Date: 2012-07-15.21:56:04
I just deinstalled the rope plug-in. But I just tested that the newest version is 
still buggy. I will report it.
msg242 (view) Author: detlev Date: 2012-07-15.11:24:33
So the baseline is, you installed a newer plug-in version of the rope plug-in and 
now it works. Did I get this right? If there is still an issue with the rope 
library, I would like you to report it to the rope people (rope mailing list).
msg241 (view) Author: human-man Date: 2012-07-15.11:13:51
Whether I set to stop at the first executable line or I set breakpoints, Eric 
doesn't allow me to debug Eric. So I used another debugger.

Anyways, now I know the problem. The plug-in RefactoringRope is buggy. I 
installed it and know Eric saves fast. Here's are the lines that block a long 
time:

QScintilla/Editor.py: saveFile
self.emit(SIGNAL('editorSaved'), self.fileName

eric4plugins/pluginrefactoringrope.py: __editorSaved
rope.base.libutils.report_change

eric4plugins/refactoringrope/rope/base/libutils.py: report_change
rope.base.pycore.perform_soa_on_changed_scopes

eric4plugins/refactoringrope/rope/base/pycore.py: perform_soa_on_changed_scopes
detector = _TextChangeDetector(new_contents, old_contents)

eric4plugins/refactoringrope/rope/base/pycore.py: _set_diffs
differ = difflib.Differ()
msg239 (view) Author: detlev Date: 2012-07-14.08:46:36
Could you try to debug this on your side by loading eric inside eric, setting a 
breakpoint in the editor save method and check, if there is some loop. Other than 
that I suspect something weird with your setup. Are you sure, that python27.zip 
is really from the original Python installation?
msg236 (view) Author: human-man Date: 2012-07-14.04:58:41
I just checked with API Monitor what Eric is doing while saving 
(http://www.rohitab.com/apimonitor). There are almost 100000 (!) calls that 
contain a path to a .py or .pyc file or other paths. At the beginning and at the 
end they are associated with QtCore4.dll and MSVCR90.dll, but 99% inbetween are 
associated with python27.dll.

The paths contain the file that is saved, modules that are used by it (in "site-
packages", e.g.), files in the near of the file that is saved, 
"C:\WINDOWS\system32\python27.zip" or eric4-related files or folders.

Among the functions that are called are: FindFirstFileW, GetFileAttributesW, 
GetFileAttributesExW (60%), GetFullPathNameA, GetFileAttributesExA, CreateFileW, 
GetFullPathNameW, CreateFileA, FindFirstFileA.

What could be the cause of this? Is there an option I can disable? (I have 
disabled the syntax check, but Eric's Task-Viewer is still working. So this 
tells me that there is still some parsing done.)
msg231 (view) Author: detlev Date: 2012-06-17.12:21:41
The provided test file saves without issues here. There is no noticeable slow 
down. The eric4 project contains a few source files with around 6000 lines, which 
save in a fraction of a second.
msg230 (view) Author: human-man Date: 2012-06-16.14:56:48
Sorry, I didn't receive your text in the notification email as before. So I 
thought only the status changed.

Please download "applogic.py" from 
http://sourceforge.net/p/accordion/code/ci/96e7ee46ad6b22fcc9643210acb63d7c8563c
cc2/tree/ . You can also get the dependencies and the Eric project file from 
there, if you need them. (From one dependency a DLL is loaded.)
msg227 (view) Author: detlev Date: 2012-06-15.17:11:44
Author of the issue didn't provide the requested test data.
msg220 (view) Author: detlev Date: 2012-05-31.17:09:33
Please send the file so I can do some local checks.
msg218 (view) Author: human-man Date: 2012-05-29.19:19:54
I just measured 12 seconds for both cases: option set and not set.
msg216 (view) Author: detlev Date: 2012-05-29.17:05:00
That is probably caused by the syntax check, that is performed when the file is 
saved. Try to disable it on the Editor->Filehandling configuration page of the 
configuration dialog.
msg215 (view) Author: human-man Date: 2012-05-28.23:18:26
I have a Python source file that is 31 KB large. Saving it lasts 7 seconds. This 
can be very annoying.
History
Date User Action Args
2012-07-15 21:56:04human-mansetmessage_count: 11.0 -> 12.0
messages: + msg243
2012-07-15 11:24:33detlevsetmessage_count: 10.0 -> 11.0
messages: + msg242
2012-07-15 11:13:51human-mansetmessage_count: 9.0 -> 10.0
messages: + msg241
2012-07-14 08:46:36detlevsetmessage_count: 8.0 -> 9.0
messages: + msg239
2012-07-14 04:58:41human-mansetmessage_count: 7.0 -> 8.0
messages: + msg236
2012-06-17 12:21:41detlevsetstatus: open -> closed
resolution: works for me
messages: + msg231
message_count: 6.0 -> 7.0
2012-06-16 18:20:45detlevsetstatus: closed -> open
resolution: works for me -> (no value)
2012-06-16 14:56:48human-mansetmessage_count: 5.0 -> 6.0
messages: + msg230
2012-06-15 17:11:44detlevsetstatus: pending -> closed
resolution: works for me
messages: + msg227
message_count: 4.0 -> 5.0
2012-06-10 16:39:00detlevsetstatus: open -> pending
2012-05-31 17:09:33detlevsetmessage_count: 3.0 -> 4.0
messages: + msg220
2012-05-29 19:19:54human-mansetmessage_count: 2.0 -> 3.0
messages: + msg218
2012-05-29 17:05:01detlevsetstatus: new -> open
assignedto: detlev
messages: + msg216
message_count: 1.0 -> 2.0
nosy: + detlev
2012-05-28 23:18:26human-mancreate