I am building a PC specifically for programming. I mainly use Android Studio and Eclipse which are both quite heavy programs. This is why I would like to get a better CPU / more RAM. Which of the following would make a bigger difference in performance and which do you think is more worth it? Currently, to fit my budget I can upgrade either the CPU or RAM which is why I need some help on deciding which one would benefit me more.Intel Core i5 Quad Core i5 - 6600K (3.5 GHz) 6MB Cache -- > Intel Core i7 Quad Core i7 - 6700 (3.4 GHz) 8MB Cache.OR16GB HyperX Fury DDR4 2666 MHz (2 x 8) --> 32GB HyperX Fury DDR4 2666 MHz (4 x 8)Which one would you recommend upgrading?Also, I want to add that I am going to be using a Samsung 850 EVO SSD.
Which would make a greater difference? Extra CPU or RAM?
pc;memory;processor;desktop
In almost any case, with a proper, modern compiler, compilation speed will increase near linearly with the number of hardware threads on your system. In the case of Microsoft compilers, even running with 8GB will be plenty fine, as they are fairly stingy with memory allocation. However, on *nix, I have capped out even 16GB with parallel make and GCC.Modern CPU architectures are approaching peak performance, so even three year old top-of-their-class CPUs will still perform quite adequately compared to top-of-their-class modern CPUs. On the other hand, more RAM will always have an obvious and linear benefit.To address your specific issues, however:Of the two CPUs you specified, the difference in benchmarks is fairly marginal, with the only real big difference being the power consumption, as the i7 is rated to use about 2/3 the power. RAM, on the other hand, can be very useful, especially in the case of Java where the JVM just loves to gobble the stuff up.To give you an idea (Source):The i7-6700 is the same speed as the i5-6600k in single-threaded applications (or at least within statistical error).  The i7-6700 is 10-15% faster in full multithreaded workloads than the i5-6600k.  The i7-6700 has slightly better memory access times than the i5-6600k.Personally, I would just go i5 and 16GB, but if you must upgrade one or the other, go for the RAM.