I used to like Eclipse but honestly it was and still is a hog. At the time i used it in the late 2000s it was basically the best IDE for C++, having features that Visual C++ users either did not have or needed to pay extra for plugin to get. I used it at work then when everyone else used Visual C++.
However at home i had a computer i bought late 2003 (which was a high end PC at the time but still) and the program was so heavy i remember despite running it under a lightweight environment (just X with Window Maker) i had to choose between Firefox and Eclipse because otherwise things would crawl due to the excessive memory use both programs made :-P.
Eventually i switched to other IDEs and forgot about Eclipse. But i did try it recently again and while obviously doesn't feel as heavyweight as it did back then (i'm running it on a 8 core machine with 32GB of RAM so it better be), it still feels sluggish and startup time is still quite slow.
Also TBH i never liked the idea behind workspaces.
These days i don't write C++ much but when i do i use either QtCreator or Kate with the Clangd LSP (which i also use for C).
I think 9 seconds startup time with 1GB of memory use is pretty acceptable for an IDE at the size of Eclipse (just timed).
Considering I'm not closing it down for whole day when I'm using it, waiting for ~10 seconds in the morning is not that bad.
In 2003, Eclipse was at its infancy and was an absolute hog, I agree on that front.
Actually you are not expected to have "n" workspaces. Maybe a couple (personal and office) at most. Project relationships and grouping is handled via "referenced projects".
Kate is an awesome code-aware text editor. I generally write small Go programs with that, but if something gonna be a proper project, it's always developed on Eclipse.
First, it was quite common for a company to buy a developer the exact same corporate standard computer as everyone else. So lots of computers had limited ram to run things like J2EE, Lotus Notes, and Eclipse at the same time. It was painful.
The startup was always slow because it preloaded everything. This was a deliberate choice to not load things and interrupt the developer. Just don't close it all day and the experience was very good.
A plus compared to the standard of the day was that it ran native widgets. So doing something as simple as opening a file explorer to browse through your project was considerably faster than comparable IDE's at the time.
Personally, I loved the customization which was dialed all the way up. I could have multiple windows with different arrangements of panels within them, all saved. I haven't run across anything as configurable since then.
It also had the big benefit of their plugin system which shined when working with multiple languages in the same project.
It always felt to me like it became trendy to crap on Eclipse because of the slow startup time and it never could shake that.
> Considering I'm not closing it down for whole day when I'm using it, waiting for ~10 seconds in the morning is not that bad.
I tend to close and run the IDEs (and most programs) multiple times per day - a clean desktop kinda lets me clean/reset my thoughts - so long startup times are annoying. Of course i wouldn't avoid a program if it was responsive, fast and did what i wanted after it started up.
> Actually you are not expected to have "n" workspaces. Maybe a couple (personal and office) at most. Project relationships and grouping is handled via "referenced projects".
Yeah i also had a single workspace but i worked in a bunch of other things, including some Java stuff in NetBeans and i want to have everything in one place. I do use and prefer IDEs but every other IDE could just store projects wherever i wanted.
> I think 9 seconds startup time with 1GB of memory use is pretty acceptable.
9 seconds of startup time on a modern GHz computer is completely unnecessary and unacceptable IMO. There may be 9 seconds of work it wants to do at startup, but there's no way it needs to do it in a single thread before letting you start to interact with it. This is an optimization effort, nothing more. Give me a month with their codebase and I could get that down to under a second. (So could most decent software engineers.) It would just need to be something they actually put effort into.
In that 9 seconds, a Java VM starts up, starts up an OSGI compliant platform and loads all the plugins you have installed and enabled in that particular Eclipse installation. When the window appears 9 seconds later, the VM is warmed up, all your plugins + IDEs (yes multiple) are ready to use. No additional memory allocations are done WRT your development plugins. Also remember that these plugins are not in isolation. There’s a dependency graph among them.
In the following seconds, updates are checked and indexes of your open projects are verified and re-run if necessary which takes again <10 seconds on different threads. Your computer may scream momentarily due to increased temperature on all cores if indexes are rebuilt.
If you think that code is not optimized in the last 20 years, you’re mistaken. Many tools from Android Studio to Apache Directory Studio runs on that platform.
Nevertheless, I’ll try to profile its startup tomorrow if I can find the time.
For me it's completely wild to think that all the steps you mentioned should take more than half a second in a 2023 medium dev computer able to process 40GB/s of data in RAM and read at 7GB/s from SSDs. Normalizing things being this slow is why using computers is such a pain nowadays, this should entirely be treated as a bug.
I think there's a bit of misconception about how I run this software.
First of all, this neither machine's RAM bandwidth is 40GB/sec, nor it has a 7GB/sec PCIe drive. It's a run of the mill, SATA backed system with a 7th generation i7.
Second, JVM is always a heavy machinery to start. The startup CPU utilization is around 600%, dipping to 400% and spiking to 800% at the end, showing some plugin dependency requirements are slowing things down. Also, that's a 20 year old OSGI platform, which runs a ton of interconnected plugins, not a mere text editor. It's in the same ballpark of MATLAB or scientific modelling software in complexity and sophistication.
Lastly, as an HPC admin and develoeper, I live by and die by performance. Computers can do some complex things for humans (e.g.: Floating point number crunching) stupidly fast, but some things which are seemingly simple for us (e.g. understanding language) can be equally stupidly slow and resource hungry.
For me, it's wild to think about complaining for something without investigating and understanding it completely.
It may not be about optimization, but about user experience. You may have to be clever and think outside the box. Can you save a snapshot of all that work so that the next instance doesn't have to do it before showing the window? And then assuming it has to do the work (which may not be necessary if it just started up--once a day is probably sufficient), it can redo the work in a separate thread.
Eclipse already does non-critical background tasks on separate threads, and non-critical startup tasks are done in "deferred early start" queue, which is emptied after initial startup.
Normally Eclipse IDE is not something like Vim, which you enter and exit 10 times a day. It just lives there and you work with it. 10 seconds in the morning for a tool that big is very acceptable, esp. after considering that everything is instantaneous after that 10 seconds.
It wasn’t “a hog” it was the hog. I don’t know where OP gets the idea that it was svelte. IntelliJ is considered a pig and a half in most eras but at the time, for most if not quite all projects, Eclipse had a worse memory footprint, for less functionality.
Also the UX was mediocre at best and infuriating at worst. Practically every interaction worth performing in that editor took at least one more click or keystroke than IntelliJ, and I would rank IntelliJ as merely good, but not amazing with input economy.
However at home i had a computer i bought late 2003 (which was a high end PC at the time but still) and the program was so heavy i remember despite running it under a lightweight environment (just X with Window Maker) i had to choose between Firefox and Eclipse because otherwise things would crawl due to the excessive memory use both programs made :-P.
Eventually i switched to other IDEs and forgot about Eclipse. But i did try it recently again and while obviously doesn't feel as heavyweight as it did back then (i'm running it on a 8 core machine with 32GB of RAM so it better be), it still feels sluggish and startup time is still quite slow.
Also TBH i never liked the idea behind workspaces.
These days i don't write C++ much but when i do i use either QtCreator or Kate with the Clangd LSP (which i also use for C).