www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Re: Eclipse startup time (Was: questions on PhanTango 'merger' (was Merging Tangobos into Tango)

reply Robert Fraser <fraserofthenight gmail.com> writes:
Don Clugston Wrote:

 Any idea what's wrong with Eclipse? Why is the startup so unbelievably slow?
 Seems to be about 25,000 million clock cycles!
 (Is this typical of Java apps? It's the almost the only Java app I've ever
used).
 What on earth is it doing? (Genuine question, not a flame).

Java runtime _does_ have a startup cost, but the main factor here is that Eclipse is huge. It's been refactored so much that the code is practically unreadable, classes are used for _everything_ (typical of Java, but Eclipse is crossing into Smalltalk-land), etc. This makes for a very modular and nimble architecture, but means there's a lot of overhead. In the case of startup time in particular, I'm guessing it's static class initialization.
Oct 12 2007
next sibling parent Ary Manzana <ary esperanto.org.ar> writes:
Also, Eclipse ships with a lot of plugins you may not be using. If you 
remove those plugins, you can reduce the startup time a lot. For 
example, if you are not going to program in Java, then you can drop all 
of JDT's plugins. I'll make a list of the minimum necessary plugins to 
run Descent.

Also, reading the other post, Descent doesn't feature code completion 
yet. You may want to see Mmrnmhrm for this: 
http://www.dsource.org/projects/descent/wiki/Mmrnmhrm

Robert Fraser wrote:
 Don Clugston Wrote:
 
 Any idea what's wrong with Eclipse? Why is the startup so unbelievably slow?
 Seems to be about 25,000 million clock cycles!
 (Is this typical of Java apps? It's the almost the only Java app I've ever
used).
 What on earth is it doing? (Genuine question, not a flame).

Java runtime _does_ have a startup cost, but the main factor here is that Eclipse is huge. It's been refactored so much that the code is practically unreadable, classes are used for _everything_ (typical of Java, but Eclipse is crossing into Smalltalk-land), etc. This makes for a very modular and nimble architecture, but means there's a lot of overhead. In the case of startup time in particular, I'm guessing it's static class initialization.

Oct 12 2007
prev sibling parent reply Bruno Medeiros <brunodomedeiros+spam com.gmail> writes:
 Don Clugston Wrote:
 
 Any idea what's wrong with Eclipse? Why is the startup so unbelievably slow?
 Seems to be about 25,000 million clock cycles!
 (Is this typical of Java apps? It's the almost the only Java app I've ever
used).
 What on earth is it doing? (Genuine question, not a flame).


What Eclipse version and bundle are you using? Have you installed any extra plugins? What is your starting perspective? What is your PC specs, and Java VM version? And what do you mean by "unbelievably slow" ? (Give me a measure in seconds :) ) -- Bruno Medeiros - MSc in CS/E student http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
Oct 13 2007
next sibling parent reply Don Clugston <dac nospam.com.au> writes:
Bruno Medeiros wrote:
 Don Clugston Wrote:

 Any idea what's wrong with Eclipse? Why is the startup so 
 unbelievably slow?
 Seems to be about 25,000 million clock cycles!
 (Is this typical of Java apps? It's the almost the only Java app I've 
 ever used).
 What on earth is it doing? (Genuine question, not a flame).


What Eclipse version and bundle are you using? Have you installed any extra plugins? What is your starting perspective? What is your PC specs, and Java VM version? And what do you mean by "unbelievably slow" ? (Give me a measure in seconds :) )

80 seconds on a 1GHz Pentium M laptop. Standard Eclipse C++ download. That's more than 4 times longer than my text editor needed on my Commodore 64, loaded from an audio cassette tape.
Oct 15 2007
next sibling parent reply torhu <no spam.invalid> writes:
Don Clugston wrote:
 Bruno Medeiros wrote:
 Don Clugston Wrote:

 Any idea what's wrong with Eclipse? Why is the startup so 
 unbelievably slow?
 Seems to be about 25,000 million clock cycles!
 (Is this typical of Java apps? It's the almost the only Java app I've 
 ever used).
 What on earth is it doing? (Genuine question, not a flame).


What Eclipse version and bundle are you using? Have you installed any extra plugins? What is your starting perspective? What is your PC specs, and Java VM version? And what do you mean by "unbelievably slow" ? (Give me a measure in seconds :) )

80 seconds on a 1GHz Pentium M laptop. Standard Eclipse C++ download. That's more than 4 times longer than my text editor needed on my Commodore 64, loaded from an audio cassette tape.

I've got the CDT download too, plus Descent. JRE 1.6u1, 1.3 GHz Athlon tbird. Eclipse starts up and loads an empty D workspace in 23 seconds. Probably faster if I disable cdt, cvs, etc. You can try going into help->software updates->manage configuration and disabling everything except platform, rcp, and descent, and see if that helps. I've got a relatively fast HD, plus a cpu that's probably a bit faster than yours. And possibly faster transfer between the cpu and RAM too. I guess eclipse just wasn't made for old laptops. But once it's done loading, I think it makes up for the wait. Try pressing ctrl+O, ctrl+1, or ctrl+3. I'm sorry if you knew this already. :) MSVC 6 starts in 2-3 seconds, but has pretty limited D support on the other hand.
Oct 15 2007
next sibling parent reply Don Clugston <dac nospam.com.au> writes:
torhu wrote:
 Don Clugston wrote:
 Bruno Medeiros wrote:
 Don Clugston Wrote:

 Any idea what's wrong with Eclipse? Why is the startup so 
 unbelievably slow?
 Seems to be about 25,000 million clock cycles!
 (Is this typical of Java apps? It's the almost the only Java app 
 I've ever used).
 What on earth is it doing? (Genuine question, not a flame).


What Eclipse version and bundle are you using? Have you installed any extra plugins? What is your starting perspective? What is your PC specs, and Java VM version? And what do you mean by "unbelievably slow" ? (Give me a measure in seconds :) )

80 seconds on a 1GHz Pentium M laptop. Standard Eclipse C++ download. That's more than 4 times longer than my text editor needed on my Commodore 64, loaded from an audio cassette tape.

I've got the CDT download too, plus Descent. JRE 1.6u1, 1.3 GHz Athlon tbird. Eclipse starts up and loads an empty D workspace in 23 seconds. Probably faster if I disable cdt, cvs, etc. You can try going into help->software updates->manage configuration and disabling everything except platform, rcp, and descent, and see if that helps. I've got a relatively fast HD, plus a cpu that's probably a bit faster than yours. And possibly faster transfer between the cpu and RAM too. I guess eclipse just wasn't made for old laptops. But once it's done loading, I think it makes up for the wait. Try pressing ctrl+O, ctrl+1, or ctrl+3. I'm sorry if you knew this already. :)

Like I said, it wasn't a flame, and in this post I was not particularly seeking to improve the startup time on my system. I'm simply astonished that a programming community (the Eclipse developers) obviously does not care about performance issues _at all_. I had no intuition about what initialization you could do that would take such a long time.
 MSVC 6 starts in 2-3 seconds, but has pretty limited D support on the 
 other hand.

There's no question that it's worth piggybacking off an established IDE, especially one with excellent support for plugins.
Oct 15 2007
next sibling parent reply Bruno Medeiros <brunodomedeiros+spam com.gmail> writes:
Don Clugston wrote:
 
 Like I said, it wasn't a flame, and in this post I was not particularly 
 seeking to improve the startup time on my system. I'm simply astonished 
 that a programming community (the Eclipse developers) obviously does not 
 care about performance issues _at all_. I had no intuition about what 
 initialization you could do that would take such a long time.
 

I don't get this fixation people have with startup time. :/ That Eclipse developers do not care about Eclipse performance is simply not true. They merely don't care much about startup performance, and the reason is simple: Eclipse, just as Java, is made for medium and large sized software development. It's not made for writing Hello World's. Int this scenario, a developer works 4 to 8 hours a day (or more), and how many times does he start Eclipse per day? Once or twice (in some cases even less, like my own case since I have my PC open 24h a day and sometimes I don't close Eclipse). Given this, how does the 4-8 hours of *runtime* (ie., after load) performance, or the runtime features compare in importance to the 1 or 2 loads done during the day? They don't compare at all! Startup time is simply a *whole* degree of magnitude less important than IDE features or runtime performance. And Eclipse's runtime performance (at least of JDT) is actually pretty good. *And* scalable. In my old PC, an Ahtlon XP 2500 with 1Gb RAM, I was able to work with JDT all day long and never (or rarely) notice any slowdowns (startup was 10-15 seconds BTW). On contrast, at that time with that PC I also did some C# GUI development, with VS Studio 2005. It loaded pretty fast (1-2 seconds), but often there were small pauses (3-4 seconds) when working with the VS's form editors. (which one you think bothered me the most...) Also, out of curiosity (since you said you weren't planning on improving runtime performance), how much RAM does that laptop have? RAM is the most important spec for Eclipse startup performance (and runtime performance too). -- Bruno Medeiros - MSc in CS/E student http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
Oct 15 2007
next sibling parent "Kris" <foo bar.com> writes:
fwiw I agree with Bruno O_o

:)

"Bruno Medeiros" <brunodomedeiros+spam com.gmail> wrote in message 
news:ff0ovb$144b$1 digitalmars.com...
 Don Clugston wrote:
 Like I said, it wasn't a flame, and in this post I was not particularly 
 seeking to improve the startup time on my system. I'm simply astonished 
 that a programming community (the Eclipse developers) obviously does not 
 care about performance issues _at all_. I had no intuition about what 
 initialization you could do that would take such a long time.

I don't get this fixation people have with startup time. :/ That Eclipse developers do not care about Eclipse performance is simply not true. They merely don't care much about startup performance, and the reason is simple: Eclipse, just as Java, is made for medium and large sized software development. It's not made for writing Hello World's. Int this scenario, a developer works 4 to 8 hours a day (or more), and how many times does he start Eclipse per day? Once or twice (in some cases even less, like my own case since I have my PC open 24h a day and sometimes I don't close Eclipse). Given this, how does the 4-8 hours of *runtime* (ie., after load) performance, or the runtime features compare in importance to the 1 or 2 loads done during the day? They don't compare at all! Startup time is simply a *whole* degree of magnitude less important than IDE features or runtime performance. And Eclipse's runtime performance (at least of JDT) is actually pretty good. *And* scalable. In my old PC, an Ahtlon XP 2500 with 1Gb RAM, I was able to work with JDT all day long and never (or rarely) notice any slowdowns (startup was 10-15 seconds BTW). On contrast, at that time with that PC I also did some C# GUI development, with VS Studio 2005. It loaded pretty fast (1-2 seconds), but often there were small pauses (3-4 seconds) when working with the VS's form editors. (which one you think bothered me the most...) Also, out of curiosity (since you said you weren't planning on improving runtime performance), how much RAM does that laptop have? RAM is the most important spec for Eclipse startup performance (and runtime performance too). -- Bruno Medeiros - MSc in CS/E student http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D

Oct 15 2007
prev sibling parent Don Clugston <dac nospam.com.au> writes:
Bruno Medeiros wrote:
 Don Clugston wrote:
 Like I said, it wasn't a flame, and in this post I was not 
 particularly seeking to improve the startup time on my system. I'm 
 simply astonished that a programming community (the Eclipse 
 developers) obviously does not care about performance issues _at all_. 
 I had no intuition about what initialization you could do that would 
 take such a long time.

I don't get this fixation people have with startup time. :/

You're not listening!! I have never seen a program which took as long to start up, as Eclipse does. It's really extraordinarily slow. You're saying, "but it doesn't matter". I don't care. My question was, what on earth is it doing? Because while it's OK for an IDE to have such a long startup time, most other types of programs couldn't get away with it. And so my question was whether that startup time is a feature of Java/Swing/whatever, or simply due to the way Eclipse is written.
Oct 15 2007
prev sibling parent Ary Manzana <ary esperanto.org.ar> writes:
Adding more to what Bruno said, if you dig a little in Eclipse's code, 
you'll see they *really* care about performance. Not only speed, but 
also memory.

Don Clugston escribió:
 torhu wrote:
 Don Clugston wrote:
 Bruno Medeiros wrote:
 Don Clugston Wrote:

 Any idea what's wrong with Eclipse? Why is the startup so 
 unbelievably slow?
 Seems to be about 25,000 million clock cycles!
 (Is this typical of Java apps? It's the almost the only Java app 
 I've ever used).
 What on earth is it doing? (Genuine question, not a flame).


What Eclipse version and bundle are you using? Have you installed any extra plugins? What is your starting perspective? What is your PC specs, and Java VM version? And what do you mean by "unbelievably slow" ? (Give me a measure in seconds :) )

80 seconds on a 1GHz Pentium M laptop. Standard Eclipse C++ download. That's more than 4 times longer than my text editor needed on my Commodore 64, loaded from an audio cassette tape.

I've got the CDT download too, plus Descent. JRE 1.6u1, 1.3 GHz Athlon tbird. Eclipse starts up and loads an empty D workspace in 23 seconds. Probably faster if I disable cdt, cvs, etc. You can try going into help->software updates->manage configuration and disabling everything except platform, rcp, and descent, and see if that helps. I've got a relatively fast HD, plus a cpu that's probably a bit faster than yours. And possibly faster transfer between the cpu and RAM too. I guess eclipse just wasn't made for old laptops. But once it's done loading, I think it makes up for the wait. Try pressing ctrl+O, ctrl+1, or ctrl+3. I'm sorry if you knew this already. :)

Like I said, it wasn't a flame, and in this post I was not particularly seeking to improve the startup time on my system. I'm simply astonished that a programming community (the Eclipse developers) obviously does not care about performance issues _at all_. I had no intuition about what initialization you could do that would take such a long time.
 MSVC 6 starts in 2-3 seconds, but has pretty limited D support on the 
 other hand.

There's no question that it's worth piggybacking off an established IDE, especially one with excellent support for plugins.

Oct 15 2007
prev sibling parent Walter Bright <newshound1 digitalmars.com> writes:
torhu wrote:
 MSVC 6 starts in 2-3 seconds, but has pretty limited D support on the 
 other hand.

I timed MicroEmacs (what I use) and there's no perceptible delay from [Enter] to screen up and running. Of course, ME was designed to run fast under DOS!
Oct 15 2007
prev sibling parent Walter Bright <newshound1 digitalmars.com> writes:
Don Clugston wrote:
 80 seconds on a 1GHz Pentium M laptop. Standard Eclipse C++ download.
 That's more than 4 times longer than my text editor needed on my 
 Commodore 64, loaded from an audio cassette tape.

Hah, that's longer than toggling in the editor using the front panel switches!
Oct 15 2007
prev sibling parent reply Chad J <gamerChad _spamIsBad_gmail.com> writes:
Bruno Medeiros wrote:
 Don Clugston Wrote:

 Any idea what's wrong with Eclipse? Why is the startup so 
 unbelievably slow?
 Seems to be about 25,000 million clock cycles!
 (Is this typical of Java apps? It's the almost the only Java app I've 
 ever used).
 What on earth is it doing? (Genuine question, not a flame).


What Eclipse version and bundle are you using? Have you installed any extra plugins? What is your starting perspective? What is your PC specs, and Java VM version? And what do you mean by "unbelievably slow" ? (Give me a measure in seconds :) )

Fresh eclipse install. Windows XP on an AMD Turion 4000, with 1 gig ram. 160 gig notebook harddrive, nothing special. It takes ~23 seconds to start up first time. It takes ~5 seconds to start up subsequent times. Unfortunately, I can measure the time it took to start up by using only my wristwatch. This is on a reasonably fast computer, though it is dated by a couple years (it WAS very fast). For comparison: Context, my ATE of choice, takes something less than 1 second to start, first run. I didn't bother spending time to measure it in more detail. Computer technology advances, but these days it does take quite some time to get the order of magnitude leap. Without such leaps occurring regularly, we still don't quite have the cycles to waste. For something as mundane as text editing, I'd expect the response time to be about instantaneous. And by instantaneous, I mean insignificantly longer than it takes the harddrive to seek, and maybe read a few megs. There are editors that deliver, just not eclipse.
Oct 15 2007
next sibling parent Jari-Matti =?ISO-8859-1?Q?M=E4kel=E4?= <jmjmak utu.fi.invalid> writes:
Chad J wrote:

 Fresh eclipse install.
 Windows XP on an AMD Turion 4000, with 1 gig ram.  160 gig notebook
 harddrive, nothing special.
 It takes ~23 seconds to start up first time.
 It takes ~5 seconds to start up subsequent times.
 Unfortunately, I can measure the time it took to start up by using only
 my wristwatch.  This is on a reasonably fast computer, though it is
 dated by a couple years (it WAS very fast).

I bought a new dual core PC a while ago because it seems people expect developers to mostly use Eclipse or Netbeans. I wanted to use Descent too. Subsequent startup still takes ~12 seconds (SDK + 4 small language/svn plugins), first time maybe twice that. Luckily it's quite snappy now after starting up so it doesn't matter if you leave the PC on all the time. PC is 2.1 GHz Core2Duo, 2GB dual channel DDR800, raid-0 disk ~100MB/s, Kubuntu Gutsy. Of course it still feels slower than Kate 2.5.8 on Pentium MMX/200 in some ways, but Kate only has maybe 50% of the functionality. One annoying thing is the Descent parser seems to have issues parsing braces. It hangs and gives out of memory exceptions every 30 minutes. Let's hope the next update fixes these. :)
Oct 15 2007
prev sibling parent reply Mike Parker <aldacron71 yahoo.com> writes:
Chad J wrote:
 Bruno Medeiros wrote:
 Don Clugston Wrote:

 Any idea what's wrong with Eclipse? Why is the startup so 
 unbelievably slow?
 Seems to be about 25,000 million clock cycles!
 (Is this typical of Java apps? It's the almost the only Java app 
 I've ever used).
 What on earth is it doing? (Genuine question, not a flame).


What Eclipse version and bundle are you using? Have you installed any extra plugins? What is your starting perspective? What is your PC specs, and Java VM version? And what do you mean by "unbelievably slow" ? (Give me a measure in seconds :) )

Fresh eclipse install. Windows XP on an AMD Turion 4000, with 1 gig ram. 160 gig notebook harddrive, nothing special. It takes ~23 seconds to start up first time. It takes ~5 seconds to start up subsequent times. Unfortunately, I can measure the time it took to start up by using only my wristwatch. This is on a reasonably fast computer, though it is dated by a couple years (it WAS very fast). For comparison: Context, my ATE of choice, takes something less than 1 second to start, first run. I didn't bother spending time to measure it in more detail. Computer technology advances, but these days it does take quite some time to get the order of magnitude leap. Without such leaps occurring regularly, we still don't quite have the cycles to waste. For something as mundane as text editing, I'd expect the response time to be about instantaneous. And by instantaneous, I mean insignificantly longer than it takes the harddrive to seek, and maybe read a few megs. There are editors that deliver, just not eclipse.

Wow! Startup time is an odd criterion to use to write off an editor as not delivering. The features of Eclipse far outweigh the 23 seconds of start up time. When I'm working with Java, Eclipse is my hero. There are very few IDEs out there that deliver as much.
Oct 16 2007
next sibling parent reply Sean Kelly <sean f4.ca> writes:
Mike Parker wrote:
 
 Wow! Startup time is an odd criterion to use to write off an editor as 
 not delivering. The features of Eclipse far outweigh the 23 seconds of 
 start up time. When I'm working with Java, Eclipse is my hero. There are 
 very few IDEs out there that deliver as much.

To each his own. For me, responsiveness is of critical importance. In my experience, all of the Java IDEs I've used just feel a tad sluggish, and this is enough of a reason all by itself for me to not want to use them. I debug in Emacs at work rather than Sun Studio largely for this reason. Sean
Oct 16 2007
parent Ary Manzana <ary esperanto.org.ar> writes:
Eclipse is very responsive once it starts up... Responsiveness is not 
fast startup time.

Sean Kelly wrote:
 Mike Parker wrote:
 Wow! Startup time is an odd criterion to use to write off an editor as 
 not delivering. The features of Eclipse far outweigh the 23 seconds of 
 start up time. When I'm working with Java, Eclipse is my hero. There 
 are very few IDEs out there that deliver as much.

To each his own. For me, responsiveness is of critical importance. In my experience, all of the Java IDEs I've used just feel a tad sluggish, and this is enough of a reason all by itself for me to not want to use them. I debug in Emacs at work rather than Sun Studio largely for this reason. Sean

Oct 16 2007
prev sibling parent Chad J <gamerChad _spamIsBad_gmail.com> writes:
Mike Parker wrote:
 
 Wow! Startup time is an odd criterion to use to write off an editor as 
 not delivering. The features of Eclipse far outweigh the 23 seconds of 
 start up time. When I'm working with Java, Eclipse is my hero. There are 
 very few IDEs out there that deliver as much.

We probably just have quite different work flows. I frequently drift between coding, communication, schoolwork, and various other dimensions of my life on my computer. Being able to jump in and out of a few sources files at a moments notice is useful. I may be talking to someone who says "hey check out this source file", so I give it a glance and then close it. I don't like leaving programs open because it causes screen clutter; something I suffer enough from as it is. But if you're someone who works the 9 to 5 and opens up the editor in the morning and closes it in the evening, then yeah startup time is insignificant.
Oct 16 2007