iMac to program with XCode

Discussion in 'iMac' started by TheRekz, Nov 22, 2011.

  1. TheRekz macrumors regular

    Joined:
    Sep 3, 2008
    #1
    I am looking to buy a 27" iMac to mainly basically code on Xcode and work on iOS project related. I can say that this is what it will be used for 85% of the time. I currently have a 2010 MBP with an i5 2.53 GHz, 4GB of memory, and 7200rpm hard disk. The reason why I don't like my current setting is for me it is slow to launch the simulator and I just want to have the joy of a bigger screen size to code. I think it's more convenient.

    I am also pretty torn of the other option, which is to upgrade to an SSD and replace my MBP to a 8 GB of memory and buy a larger external monitor. This would reduce the cost down to some degree rather than buying a new machine. Any further thoughts on why I should go with an iMac? The money is there, I just don't want to waste it too much.
     
  2. theSeb macrumors 604

    theSeb

    Joined:
    Aug 10, 2010
    Location:
    Poole, England
    #2
    What exactly do you mean by slow? How slow is slow? The iMac is wonderful for the screen real estate, which makes working in Xcode a pleasure, but Simulator is hardly a demanding application. My 2011 i7 MBA launches it in 1-2 seconds and there really isn't a quantifiable difference between it and the quad core mini.

    Your MBP is fine for working with Xcode, but I would recommend upgrading to 8 GB of RAM and a SSD will make your life a pleasure. Since you're not building Chromium, a CPU upgrade won't make a difference to you.
     
  3. srxtr macrumors 6502a

    Joined:
    Jul 1, 2010
    #3
    I suggest waiting for the new iMac just for the excitement of it.

    That's what I'm doing :)
     
  4. TheRekz thread starter macrumors regular

    Joined:
    Sep 3, 2008
    #4
    Well, let me retract that statement.. it's not that the simulator is slow.. but building the project is slow and sometimes I have 2 projects opened up at the same time in XCode. I hope this can be a bit better with an iMac 8GB of memory and OCZ Vertex 3 128GB SSD. With regards to the i5 and i7 you said it isn't quantifiable, so I should just get an i5?
     
  5. theSeb macrumors 604

    theSeb

    Joined:
    Aug 10, 2010
    Location:
    Poole, England
    #5
    I was referring to the difference in launching simulator on a dual core vs quad core; not the differences between the i5 and i7 iMac.

    How long do your builds take now (including automated tests)?
     
  6. TheRekz thread starter macrumors regular

    Joined:
    Sep 3, 2008
    #6
    Took me around 30-40 sec with automated tests
     
  7. theSeb, Nov 23, 2011
    Last edited: Nov 23, 2011

    theSeb macrumors 604

    theSeb

    Joined:
    Aug 10, 2010
    Location:
    Poole, England
    #7
    That's not too bad, but could be better. XCode will use all available cores and your builds will be faster with an i7. This is particularly important if you're taking this seriously and are planning to create apps to sell.

    If you haven't done so already, then you need to consider adding continuous integration into your workflow. This will allow you to build and test your application on all of the devices and iOS versions that you're targeting quickly and seamlessly. This will mean that any time you do a check in into your code repository, you have something like TeamCity or Hudson kicking off multiple builds for each iOS sdk and simulator and then run the automated UI tests.

    This can become quite a lot quickly if you're targeting iOS4 and 3GS as a minimum since you need to test multiple versions of iOS against multiple devices. A faster CPU will be able to crunch through this quicker and you can find out if you've regressed your code by adding new functionality or fixing existing bugs. This will save you time and therefore money.

    I assume that you're aren't yet using UIAutomation or foneMonkey and are only writing unit and application tests? I would look into this before your life becomes a misery.

    A SSD will not speed up your builds significantly, but it will make the whole system feel snappier. You can do some searches on google yourself... "does a SSD speed up build time" and so forth.

    Frankly if you upgraded your machine to 8 GBs (and I consider it a minimum if this is your main/only development machine) and added a SSD then I think your performance would be sufficient for now. However, a big display is the one thing that will make you a lot more productive in XCode. The more code I can see at the same time, the better.

    I can see that you're hankering after a new iMac anyway so if you can afford it, then you should get it and you won't regret it.

    This will give you an idea of how a CPU will affect a build time, although you have to consider that Chromium is one hell of a build :)

    Here is an overview of the 2011 iMac processors
    http://www.anandtech.com/show/4340/27inch-apple-imac-review-2011/2

    The base 27" iMac has the base i5 2500S 2.7 GHz CPU
    The $1999 27" iMac has the i5 2400 3.1 GHz CPU
    The top end 27" iMac has the i7 2600 3.4 GHz CPU - which can compared to the 2600K in the chart since it's just a locked version (cannot be overclocked) of the 2600K and a couple other minor differences
    http://ark.intel.com/compare/52214,52213,

    [​IMG]

    You can look up benchmarks yourself but often the 2500S in the base 27" is faster than the i5 2400, but the base has a slower graphics card...

    Read through this as well since it's directly related to OSX and XCode

    http://macperformanceguide.com/Optimizing-Build.html


    On a side note, have a read through this:
    http://stackoverflow.com/questions/5533799/build-slow-on-xcode4-because-of-check-dependencies

    Shout if you need any more info and I'll see if I can help.
     
  8. TheRekz thread starter macrumors regular

    Joined:
    Sep 3, 2008
    #8
    This is the most awesome posts and exactly is what I am looking for, never knew that Xcode depends on the number of cores before. Also I will definitely check out CI with Xcode. What do you suggest to use for CI in iOS development? Also is it more productive to have one large screen or multiple monitors to work with XCode? I know it's a matter of preference, but I am asking you this personally
     
  9. theSeb macrumors 604

    theSeb

    Joined:
    Aug 10, 2010
    Location:
    Poole, England
    #9
    I would suggest that you look into Hudson or TeamCity. There is quite a lot of info on the web from people that have done this already.

    As for monitors, I assume you mean 2 smaller monitors versus one large one? Like for example 2 x 23" or 2 x 24" versus 1 x 27"?

    Normally I prefer using 2 monitors. This way I can have my IDE on the one monitor and chrome and some kind of snippet tool and other stuff on the other. This lets me focus on the code in front of me and then have references to glance at on the side. I must say though that XCode really uses the width of a monitor very well, especially if you use the assistant view, which I like. So I think a single 27" would work quite well, but you can never have enough monitors. I love my 24" ACD and I find the 1920 x 1200 resolution to be perfect. I refuse to work on 1920 x 1024 resolution. It's great for watching movies, but not working.

    When you're coding the height is more important than width normally. That's why many developers prefer to use 2 monitors swivelled 90 degrees so that the width becomes the height. The more code I can see at the same time, the better.


    Then again, you could have a single 27" iMac and use your MBP for browsing and keeping reference documents open.
     

Share This Page