History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: IDEA-14953
Type: Performance Problem Performance Problem
Status: Open Open
Assignee: Maxim Shafirov
Reporter: Pavel Fiala
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
IDEA: Feedback

Annoying delay before make project

Created: 14 Sep 07 19:03   Updated: 11 Jan 08 13:51
Component/s: Compiling Project

File Attachments: 1. Zip Archive 7274_pavelf_20.09.2007_11.17.13.zip (4.11 Mb)

Environment: Windows Server 2003 accessed using Remote Desktop Connection

Build: 7,274
Severity: Medium


 Description  « Hide
1. I have opened quite a big project with lots of sources and lots of attached classes with attached sources .
2. I make a slight change in code
3. I start debugging

Everything works fine, if I don't switch to another application before the start of debugging. Otherwise a make window which usually appears for few seconds occupies my screen for tens of seconds and sometimes for minutes. It is really very very annoying.



 All   Comments   Work Log   Change History      Sort Order:
Dmitry Jemerov - 19 Sep 07 22:03
CPU snapshot please?

Pavel Fiala - 20 Sep 07 13:33
The CPU snapshot

Eugene Zhuravlev - 28 Nov 07 15:46
according to snapshot, VFS sync takes the majority of time

Pavel Fiala - 11 Jan 08 13:51
I think the issue is caused by too slow access to particular source files. I moved some of the sources to my local disk and the performance was a bit better. Problem is that the remote sources are relevant to core jars, so they are really huge. If I unlinked the sources I would lose important information during debugging a code.

I think the perfect solution would be making the attached libraries:
1. easily alterable
2. optionaly lazily loaded
3. optionally cached

ad 1.
User should have an option changing the linking of the attached libraries just by few mouse clicks. The change should be available immediately.
Now, for example, I click a link in a stacktrace. The sources are not linked to the class, so I cannot see the code. I go to project settings and link the relevant source. The sources are relatively huge and they are located on remote server which is sometimes highly loaded so everything takes quite a long time. Subsequent clicking the link causes no change. Fortunately I have an option to find the class (Ctrl-N) and go to the relevant line (Ctrl-G). It is not too annoying until I need to do it ten times in a short time period. And if it results in a significant slowing down ... It's wasting a time to explain the consequences.

ad 2.
The sources are really huge but in fact I need just the few ones which occurr in the flow I am debugging. I survive the waiting for few seconds to get the relevant source. Actually I am waiting anyway.

ad 3.
It is an essetial requirement in my use case because loading a particular remote source can take several seconds and usually I repeat the same flow with the same breakpoints many times during the same debugging session. The cache can be limited by size and number of the cached sources. The lifetime can be set for each set of the sources.

Perhaps this issue can be solved by a new plugin. I am not familiar with IntelliJ IDEA plugin development but nothing is impossible. Maybe some initial hints would be helpful to consider whether I am able to develop such plugin quickly and efficiently.