7

I use Eclipse, and the two most noticeable slowdowns caused by my computer are waiting for compiling and waiting for intellisense.

I already have a fast SSD drive and 3GB of ram. I'm guessing that upgrading my processor would be the next best thing to do.

Would that make a significant impact? Any recommendations for what kind of processor to get?

My current processor is an AMD Athlon 64 X2 Dual Core 1.91 GHz.

Robert Harvey
  • 200,592
Kyle
  • 233

7 Answers7

11

As a general rule, the fastest way to speed up development these days is by buying an SSD. But since you already have one, I'd say you ought to upgrade your RAM first, (and make sure you're on a 64-bit OS that can support lots of RAM,) then look at heavier CPUs.

Mason Wheeler
  • 83,213
8

In order to tell where your bottleneck is, you have to do some investigation as to the nature of your slowdowns. Also know that the #1 cause for slow Java application performance is not giving the JVM enough RAM.

So go through the checklist:

  • Am I constantly hitting the garbage collector? This is the first thing to check with Java applications. Since Java 5, your JDK comes with a utility called jconsole which exposes all the JMX controls in the virtual machine. What this means is you have access to information about how the JVM is running Eclipse--including garbage collections.
  • Am I dangerously close to the limit of my physical RAM? This can cause the CPU and disk access to go up as the system pages out virtual memory to disk.
  • Is my CPU always churning? Certain activities like compilation will peg the CPU for a short time, but we're talking about the CPU seeming to work harder than you expect. You can check this with Task Manager (or the ps command on unix).
  • Do I have a lot of disk access? A faster disk, or disk buss will help out tremendously. You can check this with Task Manager if you enable custom columns in the Processes tab.

If you running eclipse with only 512MB of RAM assigned, it's not going to be very efficient--particularly with large projects. You'll have to google around for how to assign more memory. Also know that with Sun (now Oracle) JVM requires all its RAM in a contiguous address space--which will limit how much you can practically assign in a 32 bit OS. I personally give Eclipse at least 1GB of RAM to keep it happy.

Having just built a rather nice computer, there are a few things to keep in mind:

  • Buss speeds have a huge impact on overall performance. SATA3 (6gb/s) has a lot more potential throughput than SATA2 (3gb/s)--note that's giga bits, not bytes.
  • Not all SSD's are equal. Pay attention to both read and write speeds on your SSD drive. I got bit by this mistake. It's not uncommon for the write speeds to be half of your read speeds, particularly if the drive is small (< 128GB). In some cases the write speeds are slower than a traditional HD. There are a few SSDs that can saturate a SATA2 connection and a couple that need SATA 3. Check the specs before you buy.
  • Once you go above 3GB of RAM, you really should start thinking about a 64 bit OS.
  • While RAM speed is important, it doesn't play as big a part as you might think. Within the JVM there are so many other bottlenecks you just won't see too much of a difference.
6

Don't upgrade the hardware, upgrade your IDE to Intellij

A hardware upgrade probably isn't going to make much difference given your current specification. Instead, rethink your IDE and look at Intellij IDEA.

There is very little learning curve (even keymaps are the same) and you'll be amazed at how much more productive you will become: How is IntelliJ better than Eclipse?

"When you have to code faster than anyone else in the room, accept no substitute."

Apologies to Samuel L Jackson, Quentin Tarantino et al.

Gary
  • 24,440
2

Upgrade your monitor size, resolution and count.

Programming, in many ways, is about awareness. The more information you can comfortable present (without overwhelming yourself) or taxing your short term memory, the better your performance would be.

Of course, if you spend all your time waiting for compilation, deal with that first, but my experience is that in most cases you can minimize that on cheap hardware.

Uri
  • 4,856
2

Wrapping tinfoil around the wifi antennea and separating the ethernet cable from the wall socket is the best way of boosting my productivity

0

A strong CPU is what you need.

Influence of SSD is highly overrated. Read for instance here: Solid State Disks

Compilation process generates many small temporary files which is exactly the pattern SSDs perform ugly at. I also installed an SSD and it had zero influence on compilation times (Windows, Visual Studio).

Put a sufficient amount of memory (at least 4GB), then go for a powerful multicore CPU. Then code and enjoy.

Having said that I feel compelled to point out that compilation takes an insignificant proportion of development time, which is mostly consumed by thinking. Unless you're compiling something major every few minutes, even a mainstream laptop will be sufficient these days. At least, this is so for me.

If you have extra bucks better invest them in a large quality display. That will definitely provide you with moments of pleasure.

0

I would definitely recommend a faster CPU, a 4-core would be nice (since Eclipse is heavily multi-threaded). If you want to stick with AMD, look at the Phenom series, they seem to have the most L1/2 cache. I dare say your motherboard will largely dictate what CPU you get (hopefully you have a Socket 2 or 2+, or else your options will be pretty limited). OTOH, a new MB+CPU shouldn't set you back much farther than a CPU alone, just make sure your memory will work (unless you plan to replace that too).

TMN
  • 11,383