On 17/09/2013 15:19, Manu wrote:
On 17 September 2013 23:46, Bruno Medeiros
<[email protected] <mailto:[email protected]>>
wrote:

    On 17/09/2013 07:24, Manu wrote:


                 I closed about half my open tabs after my last email
        (~50 left
                 open). Down
                 to 93mb. You must all use some heavy plugins or something.
                 My current solution has 10 projects, one is an entire game
                 engine with over
                 500 source files, hundreds of thousands of LOC.
        Intellisense
                 info for all
                 of it... dunno what to tell you.
                 Eclipse uses more than 4 times that much memory idling
        with no
                 project open
                 at all...


             4 times ? You must have a pretty light instance of eclipse !


        It's a fairly fresh eclipse install, and I just boot it up. It
        showed
        the home screen, no project loaded. It was doing absolutely
        nothing and
        well into 400mb.
        When I do use it for android and appengine, it more or less
        works well
        enough, but the UI feels like it's held together with stickytape and
        glue, and it's pretty sluggish. Debugging (native code) is slow and
        clunky. How can I take that software seriously?
        I probably waste significant portion of my life hovering and
        waiting for
        eclipse to render the pop-up variable inspection windows. That shit
        needs to be instant, no excuse. It's just showing a value from ram.
        Then I press a key, it doesn't take ages for the letter to
        appear on the
        screen...


    Android and Appengine?
    There are two flaws in that comparison, the first is that apparently
    you are comparing an Eclipse installation with a lot more tools than
    your VS installation (which I'm guessing has only C++ tools, perhaps
    some VCS tools too?). No wonder the footprint is bigger. For
    example, my Eclipse instance with only DDT and Git installed, and
    opened on a workspace with D projects takes up 130Mb:
    http://i.imgur..com/VmKzrRU.png <http://i.imgur.com/VmKzrRU.png>


My VS installation has VisualD, VCS tools, xbox 360, ps3, android,
emsscripten, nacl, clang and gcc tools. (I don't think these offer any
significant resource burden though, they're not really active processes)
If Eclipse has a lot more tools as you say, then it's a problem is that
I never selected them, and apparently they hog resources even when not
being used. That seems like a serious engineering fail if that's the case.
As far as I know, I don't have DDT and git installed, so you're 2 up on
me :) .. I only have android beyond default install (and no project was
open). No appengine in this installation.


Eclipse is designed such that plugins should be lazy-loaded: they are only loaded when needed (for example if you open a view/editor/preference-page/project, etc., contributed from a plugin). But that requires the plugin to be well-behaved in that regards, and some plugins might not be so. I'm not familiar at all with the Eclipse Android plugins or AppEngine plugins so I have no idea how these behave performance wise. I can't comment on that. Again it should noted that Eclipse is not a monolithic application, and a lot of things are going to depend on what plugins/tools you have installed. (neither is VisualStudio a monolithic application, but I would argue that Eclipse has more plugins and extensions available, and thus more variation in setup and quality of installations)


    With the recommend JVM memory settings (see
    http://code.google.com/p/ddt/__wiki/UserGuide#Eclipse_basics
    <http://code.google.com/p/ddt/wiki/UserGuide#Eclipse_basics> ), the
    usage in that startup scenario goes up to 180Mb.
    But even so that is not a fair comparison, the second flaw here is
    that Eclipse is running on a VM, and is not actually using all the
    memory that is taken from the OS.


It's perfectly fair. Let's assume for a second that I couldn't care less
that it runs in a VM (I couldn't), all you're really saying is that VM's
are effectively a waste of memory and performance, and that doesn't
redeem Eclipse in any way.
You're really just suggesting that Eclipse may be inherently inefficient
because it's lynched by it's VM. So there's no salvation for it? :)

    If you wanna see how much memory the Java application itself is
    using for its data structures, you have to use a tool like jconsole
    (included in the JDK) to check out JVM stats. For example, in the
    DDT scenario above, after startup the whole of Eclipse is just using
    just 40Mb for the Java heap:
    http://i.imgur..com/yCPtS52.png <http://i.imgur.com/yCPtS52.png>


I don't care how much memory the app is 'really' using beneath it's
overhead. All I care about is how much memory it's using (actually, I
don't really care about that at all, I only care about how it performs,
which is poorly), and the windows task manager surely offers the most
fair measure for comparison available to the OS, at least for the memory
consumption metric ;) ..

The Java VM overhead is a valid overhead, I'm not dismissing it entirely. But looking back on your comments, it appears you are implying that if your Eclipse installation takes up 400Mb of process memory in the Windows Task Manager, with an empty workspace, then if you had a workspace of the same size as you have in VisualStudio ("solution has 10 projects", etc.) then Eclipse memory usage would just explode. But that is not a fair measure: The VM overhead is linear to the size of the plugins of your Eclipse installation. It's not gonna grow in proportion to the data you have on your workspace though. Only the Java heap of Eclipse would be expected to grow in proportion to the Eclipse workspace size. That's why I was pointing out the Java heap memory usage.

The problem remains that I find eclipse
significantly less responsive, and the UI is messy and disorganised. I
feel a lack of coherency between different parts of Eclipse.
So in summary, I prefer and use VS whenever I have the option.


That said, I do agree that Eclipse is generally slower than Visual Studio. Eclipse (and most existing plugins) are almost entirely Java-based, which has some JIT and GC overheards. Whereas VS is done in C++ and C# (I'm guessing a lot of critical bits are developed in C++, at least for VS2010). But I don't think Eclipse is as bad or as slow as a lot of people make it appear to be. And better functionality would make up for it, for sure.

--
Bruno Medeiros - Software Engineer

Reply via email to