For heavily multi-threaded Java server app, what would be more recommended, having more CPU cores (6 instead of 4), or higher CPU frequency (2.53 Ghz instead of 2.4 Ghz).
It seems to me that it obvious more cores is the way to go, but I would like to hear a second opinion.
If your application scales well, you can assume your processing power for comparison purposes is
speed * cores when comparing machines of the same architecture.
Based on those assumptions, your throughput is likely to be proportional to
The 6 core system could have up to 40% higher throughput.
However for comparing CPU's of similar but not the same architecture I suggest you look at SPEC_int_rate or SPEC_fp_rate for your CPUs. (Only use the latter if its floating point intensive, if in doubt, its not ;)