[eclipse-dev] Fw: [cdt-dev] Eclipse CDT Performance
For those who don't read cdt-dev, I just saw this note on CDT performance issues go by. It's certainly possible, that these are all "pure CDT" problems, but I wouldn't bet on it. In any case, it wouldn't hurt to try to understand a bit more about what is going on.
----- Forwarded by Mike Wilson/Ottawa/IBM on 2010/05/20 11:03 AM -----
Yevgeny Shifrin <Yevgeny.Shifrin@xxxxxxxxxxx>
2010/05/19 04:15 PM
[cdt-dev] Eclipse CDT Performance
About 2 years ago I moved to SW development in C++. Prior to this I was working in Java using Eclipse. Naturally, I chose Eclipse CDT. I think Eclipse framework has many advantages especially an ability to extend it, by writing different plug-ins.
I work on a big code base (several 10K files) with a very complicated C++ code. I use CDT as an IDE mainly for code development and analysis (Call Hierarchy, Type Hierarchy, Code navigation, etc.). CDT has come a long way in its development, I think from CDT 6.0 it has pretty good and mature functionality set. Not all my colleagues use Eclipse, some use SlickEdit or VIM. The main reason for not using Eclipse CDT is performance issues. I would like to elaborate about some of these issues. I would appreciate any comments / suggestions from the community.
There are several reasons for our eclipse performance issues:
1) Development environment setup:
1.1) We develop in Linux while our local machines have Windows installed, using remote connection (NX) to our Linux servers. I have plans trying using local Linux desktop, hopefully some of the issues will be solved.
1.2) Our files reside on NFS which makes indexing and parsing slower. I have plans putting most of the files on local file system, hopefully some of the issues will be solved.
2) Issues with Eclipse CDT (hopefully some of these issues are solved for CDT 7.0).
2.1) Code completion can stuck Eclipse. I've seen it happen a lot and it is really annoying. There is a bug on this https://bugs.eclipse.org/bugs/show_bug.cgi?id=126698. I think this is one of the most important issues. Currently as a default when someone types "::" or "." or "->" it triggers automatically code completion that could stuck eclipse for ~20-30 seconds. Till the above bug is solved maybe the default should be changed, what do you think?
2.2) When indexing / or building is being done if you stop it, it may take almost a minute till the thread / action disappears from the "Progress" view. Similar with build, in our build we call some proprietary build script. It may take almost a minute from the time it shows on the "Console" view that it finished, till the action disappears from the "Progress" view. What does it do all this time? I am not sure if there is an open bug for this.
2.3) During code writing, from time to time, especially while using ctrl+c / ctrl+v eclipse get stuck. I believe it is related to already solved issue: https://bugs.eclipse.org/bugs/show_bug.cgi?id=287907.
2.4) Sometimes eclipse becomes very slow (everything works in a "slow motion"), if I restart it the issue is solved. When it happens eclipse is not doing any difficult tasks (indexing, etc.), it does not consume to much memory and when looking at the "top" of Linux server I could not see any reason for this behavior. It does not happen to SlickEdit users. Maybe it relates to point 1.1, hopefully when using local Linux installation this problem will be solved. Has anyone encountered such behavior?
2.5) When Eclipse just opened, it can sometimes freeze for several seconds. Has anyone encountered such behavior?
In my opinion the most important for CDT is its performance and not new functionality. If you try QT Creator which currently does not have as rich functionality as Eclipse CDT, you will see how quick and responsive it is.
Although I've been talking about the problems in Eclipse CDT, I think this is a great framework with a big future :)
Thanks a lot,
cdt-dev mailing list