iMac 27" for Software Development

Which 27" iMac

  • iMac 3.5 (i5), 575, 512 SSD

    Votes: 12 54.5%
  • iMac 4.2 (i7), 580, 512 SSD

    Votes: 8 36.4%
  • iMac 3.8(i5), 580, 512 SSD

    Votes: 2 9.1%

  • Total voters
    22

Falcon80

macrumors 6502
Original poster
Oct 27, 2012
373
94
Hi guys

I have finally narrowed down to two choices (after reading the many threads in this forum) so should be making a decision real soon.

1. iMac 3.5 (i5), 575, 512 SSD
2. iMac 4.2 (i7), 580, 512 SSD

Specifically, my needs are the following.

1. Xcode Development (might open about 5-8 projects at the same time) using Xcode,
2. Android Development (similarly may open a few projects at the same time),
3. Unity Editor (at most 2-3 project), mostly 3D related gaming projects,
4. Parallels (1 Linux VM, 1 Windows VM)

While I do not open all the above at the same time, there might be times when I need to open 1-2 IDEs (option 1-3) at the same time together with a VM running.

I would appreciate any inputs to help me with my decision. Thanks in advance!
 

bcortens

macrumors member
Aug 16, 2007
58
27
Ontario Canada
I think the hyperthreading in the i7 will benefit you.
I'm going to second this. Especially if you're going to keep more than one project open at a time.
You're going to want quite a bit of memory as well, I find that anything less than 8GB is almost unusable with multiple projects open and even 8GB is cutting it close. 16GB is what I would consider bare minimum for development.
 

Falcon80

macrumors 6502
Original poster
Oct 27, 2012
373
94
I'm going to second this. Especially if you're going to keep more than one project open at a time.
You're going to want quite a bit of memory as well, I find that anything less than 8GB is almost unusable with multiple projects open and even 8GB is cutting it close. 16GB is what I would consider bare minimum for development.
Yes, I would be getting additional 16gb or 32gb to add to the 8gb of stock RAM. Thanks for your input.
 

danielwsmithee

macrumors 65816
Mar 12, 2005
1,117
397
Hi guys

I have finally narrowed down to two choices (after reading the many threads in this forum) so should be making a decision real soon.

1. iMac 3.5 (i5), 575, 512 SSD
2. iMac 4.2 (i7), 580, 512 SSD

Specifically, my needs are the following.

1. Xcode Development (might open about 5-8 projects at the same time) using Xcode,
2. Android Development (similarly may open a few projects at the same time),
3. Unity Editor (at most 2-3 project), mostly 3D related gaming projects,
4. Parallels (1 Linux VM, 1 Windows VM)

While I do not open all the above at the same time, there might be times when I need to open 1-2 IDEs (option 1-3) at the same time together with a VM running.

I would appreciate any inputs to help me with my decision. Thanks in advance!
Since you are using VMs I'd get the i7 with Hyper threading.
 

macsplusmacs

macrumors 6502
Nov 23, 2014
334
658
Hi.

Can we go into this a little more please?

" i7 with Hyper threading."

I too will be a primarily Xcode user.

I have just about decided on i5 3.8 instead of the i7 just because of the fan noise. I realize it is a subjective thing, but we won't have air conditioning for a couple of months so my thinking was since the i7 has a higher "normal heat signature" then the i5, by its very nature it would "ping" the fans much more then a i5. (think constant xCode compiles)

BUT.

I too want "snappiness" in my Xcode environment, (I usually have xCode, a mongoDB GUI app (Studio 3T) bbedit, Atom bear, Things, many terminal windows, as well as the basics, safari, mail etc. open at once.


So I am the type of "guy" that has dozens (hundreds?) of files open at once between them.

I will be buying a total of 40 gigs of ram and I am defiantly getting the 580 for the GPU. but I though I could get by with a i5 3.8 and put the difference to a 1TB SSD. (my 512 SSD is just about full)


Are you saying that Hyper threading would allow for MUCH faster build times (20%?) above just the CPU speed difference?) does Xcode and its compiler take advantage of the hyper threading to its fullest extent?

thoughts?

thx
 
Last edited:

danielwsmithee

macrumors 65816
Mar 12, 2005
1,117
397
Hi.

Can we go into this a little more please?

" i7 with Hyper threading."

I too will be a primarily Xcode user.

I have just about decided on i5 3.8 instead of the i7 just because of the fan noise. I realize it is a subjective thing, but we won't have air conditioning for a couple of months so my thinking was since the i7 has a higher "normal heat signature" then the i5, by its very nature it would "ping" the fans much more then a i5. (think constant xCode compiles)

BUT.

I too want "snappiness" in my Xcode environment, (I usually have xCode, a mongoDB GUI app (Studio 3T) bbedit, Atom bear, Things, many terminal windows, as well as the basics, safari, mail etc. open at once.


So I am the type of "guy" that has dozens (hundreds?) of files open at once between them.

I will be buying a total of 40 gigs of ram and I am defiantly getting the 580 for the GPU. but I though I could get by with a i5 3.8 and put the difference to a 1TB SSD. (my 512 SSD is just about full)


Are you saying that Hyper threading would allow for MUCH faster build times (20%?) above just the CPU speed difference?) does Xcode and its compiler take advantage of the hyper threading to its fullest extent?

thoughts?

thx
I suggested the i7 with Hyper-threading mainly due to the fact that it was suggested that VM would be run on this machine. Hyptherthreading allows you to more quickly switch between multiple threads on your system. This in turn allows for a smoother experience when running lots of threads on a system.

I don't think you will notice that big of a difference between the i7 and i5 for just Xcode builds but there will be some. I guess the main question is how you use your VMs in my mind. Are they constantly open and you are regularly switching between them. If so I'd get the i7.

All the being said Xcode builds and most other software development activities are a CPU & RAM bound task. Unless you are also using this machine for photos/video editing/gaming you really won't notice much of any improvement between the RX 570/575/580. So you may want to consider getting the 575 model and upgrading the CPU.

As far as the SSD size is concerned. I personally think the 512GB is the sweet spot for price to performance. For the $400 for the upgrade from 512GB to 1TB you can get a lot of fast external storage. My guess is a lot of the data that is filling up your drive is rarely accessed (like iTunes/Photos/Movies etc anyways).
 

macsplusmacs

macrumors 6502
Nov 23, 2014
334
658
thanks!

I forgot to mention I will be running 2 4K (Dell) monitors on the iMac as well. Can't have enough screen real estate AFAIAK.

No VM work for me. May install Bootcamp just so I can play a game or two now and then.

Q:

for the most part is hyper threading enacted per app? or do you think the OS will use Hyper threading to have dozens of windows and the apps that run them be more responsive on mouse clicks and bring them forward?

Also, reason for 1TB would be so I get rid of external drives I have. want a cleaner environment and would only have 1 drive and that would be for time machine.i May do screencasts later this year for project I am working on. so the extra space would be enough for that and still leave me room
 

danielwsmithee

macrumors 65816
Mar 12, 2005
1,117
397
thanks!

I forgot to mention I will be running 2 4K (Dell) monitors on the iMac as well. Can't have enough screen real estate AFAIAK.

No VM work for me. May install Bootcamp just so I can play a game or two now and then.

Q:

for the most part is hyper threading enacted per app? or do you think the OS will use Hyper threading to have dozens of windows and the apps that run them be more responsive on mouse clicks and bring them forward?

Also, reason for 1TB would be so I get rid of external drives I have. want a cleaner environment and would only have 1 drive and that would be for time machine.
In that case I think the 580 and i5 would've very reasonable selection.

As far as Hyperthreading, it is not an app by app feature. The chip reports to the OS that it has 8-core when in reality it only has four. Each core then has the ability to quickly switch between the two scheduled threads provided by the OS. It allows the CPU core to more efficiently be utilized because there is always a second thread ready to be switched to immediately. In short any use case that has many threads that switch in and out quickly will benefit. It is essentially like a ping-pong buffer in the hardware (using a sw engineering analogy).

I can understand the desire for a clean working environment.
 

Scott6666

macrumors 65816
Feb 2, 2008
1,322
423
I think an i5 would be fine. I do the same type of work on last years modrl with an i5. Now I've not had a i7 to do a direct comparison but I would not like the fan noise I've heard people saying the i7 has.

If there's any kind of project I could run a build on let me know.

With other stuff running...

Open android studio. About 4-5 seconds. Rebuilding a large app ~11-14 s including starting some kind of java process in the dock. CLOC says 51k lines of java 75k Json 34k xml

Loading Xcode 2-3 s. Indexing a large app ~12 s. Building from clean the app about ~47 s. Has 15 story boards and 120 nibs. CLOC says 50k lines swift 180k xml 7 k objective c. 522 files overall. Building after first build 2s
8s to star simulator. 2s more to load and run. 4s to reload if dim started.

Sometimes feels slow to me now. But CPU max is 80% or so so I'm not sure if an i7 would be faster. Has a 512ssd but feels io constrained more than processor constrained.
 
  • Like
Reactions: Falcon80

macsplusmacs

macrumors 6502
Nov 23, 2014
334
658
I think 16GB is too small.

If you get the base 8 gig model (fills up 2 of your 4 memory slots)

You can then get 32 gig ram off amazon for around $250. (2 memory dims)

then plug it into your iMac , filling up all 4 slots and giving you a total of 40 gigs or ram , which itself will give you a speed boost over all since you will not be paging out to the HD so much.
 
  • Like
Reactions: Falcon80 and c0ppo

rkuo

macrumors 6502a
Sep 25, 2010
593
192
It's strange that you don't mention RAM as that is likely to be the biggest factor here.

The i7 will certainly be better as far as compile times go but the overall difference vs the i5 will be mostly minimal. If you are only building your own small projects and not large 3rd party projects, the difference will be negligible.
 
  • Like
Reactions: Falcon80

mpe

macrumors 6502
Sep 3, 2010
314
184
I think it probably doesn't matter. Let your wallet decide....

I am using i5 3.3 GHz (2015 model) with 32GB RAM

At work we are using various i7 models (2014 and 2015) with fusion drive as well as SSD-only and 16GB RAM

I do a lot of Xcode, IntelliJ, Android Studio, run SQL database, spinning VirtualBox VMs a lot of command line tools stuff...

Frankly, I don't see any difference in performance. All quad-core iMacs 2014-2017 are very fast and responsive.
[doublepost=1498339966][/doublepost]
Hyperthreading allows you to more quickly switch between multiple threads on your system. .
No it doesn't. Exactly the opposite. Hyperthreading actually increases latency slightly. Intel published a very nice paper about this some time back.

Hyperthreading improves performance through improving instruction level parallelism. You need a specific utilisation profile to benefit from HT. Definitely not running VM as you claim above. Virtualisation is actually one of use cases that can see performance degradation if you let your VM run on logical cores.

In real world the i7 will be always faster than the i5, but mainly due to higher turbo boost multiplier rather than HT.
 
Last edited:
  • Like
Reactions: Falcon80

Falcon80

macrumors 6502
Original poster
Oct 27, 2012
373
94
It's strange that you don't mention RAM as that is likely to be the biggest factor here.

The i7 will certainly be better as far as compile times go but the overall difference vs the i5 will be mostly minimal. If you are only building your own small projects and not large 3rd party projects, the difference will be negligible.
I did not mention RAM because for either option, I will be going for 40GB, 8 + 32 (third party). :)
[doublepost=1498342459][/doublepost]
I think an i5 would be fine. I do the same type of work on last years modrl with an i5. Now I've not had a i7 to do a direct comparison but I would not like the fan noise I've heard people saying the i7 has.

If there's any kind of project I could run a build on let me know.

With other stuff running...

Open android studio. About 4-5 seconds. Rebuilding a large app ~11-14 s including starting some kind of java process in the dock. CLOC says 51k lines of java 75k Json 34k xml

Loading Xcode 2-3 s. Indexing a large app ~12 s. Building from clean the app about ~47 s. Has 15 story boards and 120 nibs. CLOC says 50k lines swift 180k xml 7 k objective c. 522 files overall. Building after first build 2s
8s to star simulator. 2s more to load and run. 4s to reload if dim started.

Sometimes feels slow to me now. But CPU max is 80% or so so I'm not sure if an i7 would be faster. Has a 512ssd but feels io constrained more than processor constrained.
Thanks for sharing the execution time for all the tasks. According to the keynote in WWDC, we can expect Xcode to run much more efficiently in the new version so that is a good news. At the moment, it is usually Android Studio that activated the fan in my current Macbook Pro (i7 2.3, mid 2012 version) especially when trying to run the emulator.
 

Scott6666

macrumors 65816
Feb 2, 2008
1,322
423
RAM is 24GB. Until about a month ago was only 8GB and I'm not sure I notice much of a difference.

On my retina MacBook 2015, THERE is do see a difference. Over 6 min to compile that same Android code.
 

Falcon80

macrumors 6502
Original poster
Oct 27, 2012
373
94
RAM is 24GB. Until about a month ago was only 8GB and I'm not sure I notice much of a difference.

On my retina MacBook 2015, THERE is do see a difference. Over 6 min to compile that same Android code.
Do you mean the same code that took 6 mins to compile has now reduced to 11-14 seconds now using your iMac?
 

Scott6666

macrumors 65816
Feb 2, 2008
1,322
423
Same code. But I think of it more the other way round. The code that takes 47 seconds on an i5 iMac takes 6 minutes on my 2015 retina 12" Macbook.

Thinking about buying a new macbook. Don't remember the macbook always being this slow but the code to compile has gotten a lot bigger.
 

Falcon80

macrumors 6502
Original poster
Oct 27, 2012
373
94
Same code. But I think of it more the other way round. The code that takes 47 seconds on an i5 iMac takes 6 minutes on my 2015 retina 12" Macbook.

Thinking about buying a new macbook. Don't remember the macbook always being this slow but the code to compile has gotten a lot bigger.
The i5 iMac you mentioned is the 2017 version and which tier?
 

Falcon80

macrumors 6502
Original poster
Oct 27, 2012
373
94
Added the 3.8 option in the poll for those who feel that it is the best option for my needs. Thanks for all the inputs so far.
 

Falcon80

macrumors 6502
Original poster
Oct 27, 2012
373
94
Another requirement I have is I might need to leave my iMac on constantly at times with TeamViewer running so that I can get access to it remotely when I am not at my desk or after office hours. Is this something I should consider if I am getting i7 (with the higher thermal output)? I am thinking of using the Turbo Booster Switcher Pro to turn off the turbo boost so as to reduce the heat when I need to leave the iMac on all the time. Do you think this is a good choice?

https://gumroad.com/l/YeBQUF
 

rkuo

macrumors 6502a
Sep 25, 2010
593
192
No. It won't help anything. If your computer is idling it won't be turbo boosting anyway, so there's no point to installing something to disable turbo boost when you're away from the computer. That's not how it works.
 
  • Like
Reactions: danielwsmithee