VFS performance

Since we're presumably entering the final straight before release, I've
started entering performance bugs. It seems that Idea is really
struggling to cope with my filesystem setup. I'm using RH Linux FC3; my
home directory (and hence my CVS directory) is NFS-mounted; the remote
system is a NetApp filer with snapshotting.

Examples of slow operation:
- synchronising files (> 1min, that's fine since I never do it)
- CVS rollback (> 1min, pretty irritating)
- CVS update (> 1min30, highly annoying)

Is anybody else experiencing this or similar problems? JB, should I
continue to file bugs?

R

9 comments
Comment actions Permalink

Robert,
what build of Idea are you using?

"Robert Gibson" <robbie_usenet@yahoo.co.uk> wrote in message
news:d8p7mk$2k3$1@is.intellij.net...

Since we're presumably entering the final straight before release, I've
started entering performance bugs. It seems that Idea is really struggling
to cope with my filesystem setup. I'm using RH Linux FC3; my home
directory (and hence my CVS directory) is NFS-mounted; the remote system
is a NetApp filer with snapshotting.

>

Examples of slow operation:
- synchronising files (> 1min, that's fine since I never do it)
- CVS rollback (> 1min, pretty irritating)
- CVS update (> 1min30, highly annoying)

>

Is anybody else experiencing this or similar problems? JB, should I
continue to file bugs?

>

R



0
Comment actions Permalink

I'm currently on build 3368.

I've filed a few bugs:
http://www.jetbrains.net/jira/browse/IDEA-2569
http://www.jetbrains.net/jira/browse/IDEA-2699

It seems to be calls to IoFile.isDirectory and IoFile.lastModified that
are slowing things up, maybe because a full synchronisation is
happening? Or maybe these implementations are just slow on my filesystem?

R

0
Comment actions Permalink

It seems to be calls to IoFile.isDirectory and IoFile.lastModified that
are slowing things up, maybe because a full synchronisation is happening?
Or maybe these implementations are just slow on my filesystem?


I'm afraid both are true: full sync is happening since there is no file
watcher on Linux,
and calling java.io.File methods is slow for NFS drives too.
Eugene.


0
Comment actions Permalink

Looks like compilation with a web module suffers from the same symptoms,
with the added bonus of a slow IoFile.exists.
http://www.jetbrains.net/jira/browse/IDEADEV-1353

Can you do anything about this? I can't be the only one developing from
an NFS mount, and having a 1 minute delay every time I want to interact
with the remote file system (CVS commit/update/rollback, compile) is
pretty horrible :( For example, CVS operations that only act on a
limited number of files shouldn't trigger a full synchronise, right?

R

0
Comment actions Permalink

I find build 3370 to be very slow. Simple navigation from one file to another or clicking on a reference through to an implementation can take a few seconds. I've used it for about two hours and am rolling back to build 3354. Pity as build 3370 seems to have addressed a lot of issues.

0
Comment actions Permalink

Hi!

I'm afraid both are true: full sync is happening since there is no file
watcher on Linux,


There is. inotify (do not mix with dnotify) is a newcommer and has the
potential to be integrated into the kernel.

I already started to build a java wrapper around it
http://l3x.net/imwiki/Wiki.jsp?page=JFileWatch

In fact sometimes in the future JFileWatch should support windows too
(hint, hint) - contributions are welcome.

Maybe we can join efforts and try to extend it to be useable (maybe as
plugin) in IDEA?

---
Mario

0
Comment actions Permalink

Mario Ivankovits wrote:

Hi!

>> I'm afraid both are true: full sync is happening since there is no
>> file watcher on Linux,


There is. inotify (do not mix with dnotify) is a newcommer and has the
potential to be integrated into the kernel.

I already started to build a java wrapper around it
http://l3x.net/imwiki/Wiki.jsp?page=JFileWatch

In fact sometimes in the future JFileWatch should support windows too
(hint, hint) - contributions are welcome.

Maybe we can join efforts and try to extend it to be useable (maybe as
plugin) in IDEA?


We had discussed possibility for inotify to be used for file watcher in
IDEA but found it in early beta with notes like "it can be changed
wherever we want". So we decided not to try it before it will be in
official kernel (not in mm).

For now there is no interface to write such a plugin but I hope we'll
discuss this ASAP.

IK

0
Comment actions Permalink

I'm having similar performance problems since I upgraded to build 3370. Previously
I was on 3354 I think, which was running fine. The system directory/caches
were cleaned out.

Almost every time I change to a different class in the editor (via Ctrl-B,
Ctrl-Alt-Left/Right, Double-clicking a class in the project panel), there
is a lag of about 5-10 seconds. During this time IDEA is completely unresponsive.
As you can imagine, this is completely unusable for me.

I'm guessing my problem is filesystem related, since my project directory
lives on a network drive. There's unfortunately nothing I can do to change
this (backups are run from there, and I also need my project on there so
I can build/deploy/test it on both my Windows XP dev PC and on Sun and Linux
boxes via an xterm window). I've tried enabling/disabling sync on frame activation,
but that hasn't made any noticable difference.

What changed between 3354 and 3370 that could have introduced this problem?

Chris

Since we're presumably entering the final straight before release,
I've started entering performance bugs. It seems that Idea is really
struggling to cope with my filesystem setup. I'm using RH Linux FC3;
my home directory (and hence my CVS directory) is NFS-mounted; the
remote system is a NetApp filer with snapshotting.

Examples of slow operation:
- synchronising files (> 1min, that's fine since I never do it)
- CVS rollback (> 1min, pretty irritating)
- CVS update (> 1min30, highly annoying)
Is anybody else experiencing this or similar problems? JB, should I
continue to file bugs?

R



0
Comment actions Permalink

One extra thing I forgot to mention. Usually (but not always...), changing
to another file by clicking on it's tab works fine without any lag.

I'm having similar performance problems since I upgraded to build
3370. Previously I was on 3354 I think, which was running fine. The
system directory/caches were cleaned out.

Almost every time I change to a different class in the editor (via
Ctrl-B, Ctrl-Alt-Left/Right, Double-clicking a class in the project
panel), there is a lag of about 5-10 seconds. During this time IDEA is
completely unresponsive. As you can imagine, this is completely
unusable for me.

I'm guessing my problem is filesystem related, since my project
directory lives on a network drive. There's unfortunately nothing I
can do to change this (backups are run from there, and I also need my
project on there so I can build/deploy/test it on both my Windows XP
dev PC and on Sun and Linux boxes via an xterm window). I've tried
enabling/disabling sync on frame activation, but that hasn't made any
noticable difference.

What changed between 3354 and 3370 that could have introduced this
problem?

Chris



0

Please sign in to leave a comment.