iMac 27" for Software Development

Discussion in 'iMac' started by Falcon80, Jun 23, 2017.


Which 27" iMac

  1. iMac 3.5 (i5), 575, 512 SSD

    12 vote(s)
  2. iMac 4.2 (i7), 580, 512 SSD

    8 vote(s)
  3. iMac 3.8(i5), 580, 512 SSD

    2 vote(s)
  1. Falcon80 macrumors 6502

    Oct 27, 2012
    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!
  2. Hawaiian Starman, Jun 23, 2017
    Last edited: Jun 24, 2017

    Hawaiian Starman macrumors member

    Oct 27, 2001
    Somerset West, South Africa
    "2. Android Development (similarly may open a few projects at the same time)"

    I'm pretty sure iMac's are allergic to anything Android related. ;)
  3. dborod macrumors regular

    Jul 22, 2002
    I think the hyperthreading in the i7 will benefit you.
  4. Falcon80 thread starter macrumors 6502

    Oct 27, 2012
    It is not that bad. Android Studio works pretty well in Mac OS. :)
  5. bcortens macrumors member


    Aug 16, 2007
    Ontario Canada
    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.
  6. Falcon80 thread starter macrumors 6502

    Oct 27, 2012
    Yes, I would be getting additional 16gb or 32gb to add to the 8gb of stock RAM. Thanks for your input.
  7. danielwsmithee macrumors 65816

    Mar 12, 2005
    Since you are using VMs I'd get the i7 with Hyper threading.
  8. macsplusmacs, Jun 24, 2017
    Last edited: Jun 24, 2017

    macsplusmacs macrumors 6502

    Nov 23, 2014

    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)


    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?


  9. danielwsmithee macrumors 65816

    Mar 12, 2005
    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).
  10. macsplusmacs macrumors 6502

    Nov 23, 2014

    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.


    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
  11. danielwsmithee macrumors 65816

    Mar 12, 2005
    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.
  12. Scott6666 macrumors 65816


    Feb 2, 2008
    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.
  13. macsplusmacs macrumors 6502

    Nov 23, 2014
    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.
  14. rkuo macrumors 6502a

    Sep 25, 2010
    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.
  15. mpe, Jun 24, 2017
    Last edited: Jun 25, 2017

    mpe macrumors 6502

    Sep 3, 2010
    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.
    --- Post Merged, Jun 24, 2017 ---
    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.
  16. Falcon80 thread starter macrumors 6502

    Oct 27, 2012
    I did not mention RAM because for either option, I will be going for 40GB, 8 + 32 (third party). :)
    --- Post Merged, Jun 24, 2017 ---
    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.
  17. Scott6666 macrumors 65816


    Feb 2, 2008
    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.
  18. Falcon80 thread starter macrumors 6502

    Oct 27, 2012
    Do you mean the same code that took 6 mins to compile has now reduced to 11-14 seconds now using your iMac?
  19. Scott6666 macrumors 65816


    Feb 2, 2008
    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.
  20. Falcon80 thread starter macrumors 6502

    Oct 27, 2012
    The i5 iMac you mentioned is the 2017 version and which tier?
  21. Falcon80 thread starter macrumors 6502

    Oct 27, 2012
    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.
  22. Scott6666 macrumors 65816


    Feb 2, 2008
    OSX El Capitan
    Version 10.11.6
    iMac Retina 5k 27 inch Late 2015
    3.3 GHz Intel Core i5
    24GB 1867 MHz DDR3
    AMD Radeon R9 M395 2048 MB
  23. Falcon80 thread starter macrumors 6502

    Oct 27, 2012
    Thanks for the info. :)
  24. Falcon80 thread starter macrumors 6502

    Oct 27, 2012
    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?
  25. rkuo macrumors 6502a

    Sep 25, 2010
    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.

Share This Page