Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

theSeb

macrumors 604
Aug 10, 2010
7,466
1,893
none
I think people too easily succumb to labels. Label something a "Pro" machine vs. something that has an inexpensive base configuration and people label that an "entry level" machine. Actual performance is considered after the labels.

For my development, in many real world usage tests (not benchmarks), disk speed trumps CPU speed. An ultimate 2012 MBA will smoke a machine using a traditional hard drive. My new Mini gets 30-40MB/sec best case reading from disk. Whereas the 2012 11" MBA is getting 450MB/sec. Thats 10x the speed. Makes a huge difference. Compile time is certainly affected by CPU speed, but available RAM is more important to cache headers etc., and a fast SSD. And what about ancillary time that ends up being where more time is spent, such as starting the simulator, starting the app, starting tools such as Instruments.

I do extensive development on a 2010 11" Ultimate. I did many speed comparisons when I bought it compared to my 2009 MBP. The MBP had a much faster CPU, >2x. In some scenarios, strictly compile time was faster. But build and run time was faster on the MBA despite having a very slow CPU. It was able to launch the simulator and kick off the app so much faster that it caught up and passed the MBP for build & run time.

I've been debating upgrading to a 2012 11 Ultimate. It runs 2-3x faster for all tasks than my 2010, but resale value on the 2010 is in the gutter. Folks on eBay don't seem to know the difference between the 2010 base $999 machine and ultimate $1399 machine sometimes paying more for the base than ultimate. For now, my plan is to stick w the 2010. And even it performs ok for most development. I should mention though that I plug into a 28" monitor when at home.
Which 2009 MBP did you have?

Build times are all about the CPU, and also the amount of available memory. Xcode caches your source files since they are relatively small and the speed of the storage makes very little difference. If you don't believe me, then check out the link below. The guy created a RAM drive (which is even faster than a SSD) and there was very little difference. Sure, a SSD will make things feel snappier, like opening Xcode and iOS simulator for the first time, but once everything is cached, then it's all about the CPU, especially when you have a sizeable project and are running automated tests with your builds (and you should be).

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

Bottom line

(a) So long as the internal hard drive remains fast (not too full), builds will run at top speed without any special effort; a RAM disk (risky in the event of a crash) offers no meaningful help.

(b) External eSATA does not help and a striped RAID actually degrades performance.

(c) Build speed scale closely with CPU clock speed.

Here is another example of what difference a CPU speed makes to build times. This is what happens when all of the other variables are kept constant with different CPUs:

visual%20studio.png


But, having said all that, is an MBA good enough to do iOS development as a freelancer? Yes. Is reducing build times better for your productivity? Yes.
 

asting

macrumors 6502
Jun 10, 2012
378
3
I think people too easily succumb to labels. Label something a "Pro" machine vs. something that has an inexpensive base configuration and people label that an "entry level" machine. Actual performance is considered after the labels.

I agree completely. There are so many discussions where users say the pro is better for gaming or graphic design despite the fact both laptops use the hd4000 and the mba has a higher res screen (13"s).
It tells me how foolish some users are. Specs aren't considered, just the name.
 

barjam

macrumors 6502
Jul 4, 2010
385
186
You'd be wrong, compile times are almost entirely CPU grunt. And my numbers were correct, i ran them many times. Who are you to tell me how fast my old macbook pro was? :)

Regardless, I have my new i5 2012 Air here right now so I can do a more appropriate comparison for this thread. My test is to do a clean and then build + run in the simulator, on two different reasonably complicated apps.

App 1 - 109 source files, tons of images:
2011 i7 iMac 3.4 Ghz - build from clean + launch simulator: ~7 seconds
2012 i5 11" Air - ~23 seconds

App 2 - 236 source files, less images:
2011 i7 iMac 3.4 Ghz - ~7.5 seconds
2012 i5 11" Air - ~14.5 seconds

Much better than my old MBP, but I still think the Air leaves a bit to be desired for a dev machine.

I am a windows/java developer so have no idea but does Xcode parallelize the build?

And as far as CPU/disk it depends on where the bottle neck is. Huge project with lots of dependencies (larger than the os can cache) would be io bound. On small projects like you describe disk would not be an issue.
 

dmelgar

macrumors 68000
Apr 29, 2005
1,587
160
Which 2009 MBP did you have?

Build times are all about the CPU, and also the amount of available memory. Xcode caches your source files since they are relatively small and the speed of the storage makes very little difference. If you don't believe me, then check out the link below. The guy created a RAM drive (which is even faster than a SSD) and there was very little difference. Sure, a SSD will make things feel snappier, like opening Xcode and iOS simulator for the first time, but once everything is cached, then it's all about the CPU, especially when you have a sizeable project and are running automated tests with your builds (and you should be).

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


Here is another example of what difference a CPU speed makes to build times. This is what happens when all of the other variables are kept constant with different CPUs:

Image

But, having said all that, is an MBA good enough to do iOS development as a freelancer? Yes. Is reducing build times better for your productivity? Yes.

Not sure what you're arguing. I said in my post that available RAM is important. In fact, can me more important than CPU speed. I made the same point you're making about more RAM allowing the OS to cache.
No need for a RAM drive in Mac OS (Unix) world. Mac OSX will use all available memory as a cache.

Regarding CPU comparisons, it depends on how efficient the compiler is. XCode with Objective-C is very efficient. It can crank through thousands of lines of code amazingly fast. Of course there are environments that can be CPU intensive, video compression etc. so certainly some development environments can benefit from faster CPU. But in my case at least and other cases even when I was doing Java development, disk speed was a much bigger factor than CPU speed.

To tell an old story about disk caching. On worked on a complex project a while ago running a bunch of ant scripts, tons of Java compilations, webapp packaging. The build would work on either Linux or Windows. I could dual boot one machine in either. On the same machine, same CPU, same drive, same RAM, the build under Linux ran 2-3x faster than on Windows. Clearly because of disk caching, particularly write caching.
 

theSeb

macrumors 604
Aug 10, 2010
7,466
1,893
none
Not sure what you're arguing. I said in my post that available RAM is important. In fact, can me more important than CPU speed. I made the same point you're making about more RAM allowing the OS to cache.
No need for a RAM drive in Mac OS (Unix) world. Mac OSX will use all available memory as a cache.

Regarding CPU comparisons, it depends on how efficient the compiler is. XCode with Objective-C is very efficient. It can crank through thousands of lines of code amazingly fast. Of course there are environments that can be CPU intensive, video compression etc. so certainly some development environments can benefit from faster CPU. But in my case at least and other cases even when I was doing Java development, disk speed was a much bigger factor than CPU speed.

To tell an old story about disk caching. On worked on a complex project a while ago running a bunch of ant scripts, tons of Java compilations, webapp packaging. The build would work on either Linux or Windows. I could dual boot one machine in either. On the same machine, same CPU, same drive, same RAM, the build under Linux ran 2-3x faster than on Windows. Clearly because of disk caching, particularly write caching.
I am not arguing anything. Just because I am adding to what you said does not automatically mean that I am arguing you. I am having a conversation and adding some information that some people may find useful.
 

AlanShutko

macrumors 6502a
Jun 2, 2008
804
214
I am a windows/java developer so have no idea but does Xcode parallelize the build?

Yes, it does.

For some interesting numbers, I ran builds on my 2012 MBA i7 and my 2010 iMac i7. I used the source for Boxer as an example, since it was the largest I hard around. In both cases, I did a test running purge beforehand to ensure nothing was in cache, and a few runs afterwards to test it once everything was cached. FWIW, the MBA has 8GB RAM and the iMac has 16GB ram, but I didn't hit swap on either test.

The MBA was consistent with stuff in cache or without; that flash storage is fast. It took about a minute wall clock time either way. The iMac took 48s the first time around, and a reliable 33s after stuff got cached.

I've got to say, in my experience it's rare that you do full builds anyway. Most of the time you're doing incremental builds where only the source files you've changed since the last build need to be compiled.
 

kthomp

macrumors newbie
Original poster
Jun 26, 2012
22
0
OP here :) Glad to see the thread is still generating some (heated at times) opinions. Good stuff. Thanks to all who have posted.

I've ordered the 2012 13" i7, 8 GB, 256 GB model - scheduled to arrive week after next (hopefully, it's earlier). Once I'm up and running with the stack and I have a feeling for how it's performing, I'll post my thoughts and observations.

Once again, thanks to all.

EDIT: FWIW, I've found disk I/O is a huge build bottleneck in almost all of the (non-trivial) projects I've worked on. Hence my hard SSD requirement.
 

tomwilson

macrumors member
Jun 27, 2012
43
60
Simple just admit that you have no idea what you're actually doing or talking about and we'll call it a day... You are not the first and surely not the last programmer I run into who "thinks he knows what he's doing".

Thanks for the personal attack. Very constructive.

The MBA is of course not an extremely fast notebook compared to other heavier / larger models, but it's mainly due to the fact that it was never intended to be a desktop replacement or something that could blow a MBP out of the water ( still it does a decent job at almost everything you throw at it )... but saying that the MBA compiles the same project 28 times slower ( the whole ~170 vs ~6 thing ) than your "GODLIKE iMac" is just dumb and it only proves ( yet again ) that you have no idea what you're talking about.

- I never said the MBA was 28 times slower, I said my old Macbook Pro was, using one particular project. And it is. I can build that project all day long from a clean slate and get the same result. It's a kind of unusual project (has many images..), but really it doesn't matter what the project is, a desktop class computer of similar vintage is going to beat it at build times.

- I never said my iMac was godlike, you imagined that.

- My only point was that you can get away with a laptop but if you are going to do this *all day long* *as a professional* - you probably want something faster. I even said that it was more than enough to get started. I never meant to ruffle any feathers. You need to chill out :)
 

dmelgar

macrumors 68000
Apr 29, 2005
1,587
160
Thanks for the personal attack. Very constructive.



- I never said the MBA was 28 times slower, I said my old Macbook Pro was, using one particular project. And it is. I can build that project all day long from a clean slate and get the same result. It's a kind of unusual project (has many images..), but really it doesn't matter what the project is, a desktop class computer of similar vintage is going to beat it at build times.

- I never said my iMac was godlike, you imagined that.

- My only point was that you can get away with a laptop but if you are going to do this *all day long* *as a professional* - you probably want something faster. I even said that it was more than enough to get started. I never meant to ruffle any feathers. You need to chill out :)
But you're not getting the point. It doesnt pass the sniff test. There's no way a slight increase in CPU speed is going to make something 28 times faster. Something else is obviously going on. The slower machine might be memory constrained and swapping, or its running something else concurrently, or the faster machine has much more memory and has cached everything.
You can't seriously say a 28x speed increase is due to a minor CPU speed increase and have credibility.
 

fejennings

macrumors newbie
Aug 24, 2009
4
0
Any updates?

OP here :) Glad to see the thread is still generating some (heated at times) opinions. Good stuff. Thanks to all who have posted.

I've ordered the 2012 13" i7, 8 GB, 256 GB model - scheduled to arrive week after next (hopefully, it's earlier). Once I'm up and running with the stack and I have a feeling for how it's performing, I'll post my thoughts and observations.

Once again, thanks to all.

EDIT: FWIW, I've found disk I/O is a huge build bottleneck in almost all of the (non-trivial) projects I've worked on. Hence my hard SSD requirement.

How is the 2012 13" MBA working out for you?

Just started pondering an upgrade from an 2008 15" MBP, so any option will be a huge step forward.
 

kthomp

macrumors newbie
Original poster
Jun 26, 2012
22
0
How is the 2012 13" MBA working out for you?

Just started pondering an upgrade from an 2008 15" MBP, so any option will be a huge step forward.

Really nicely. I've been using Parallels 7 with Windows 7 Ultimate, running VS 2010 and SQL Server 2008, and it's running very well. I'm currently alllocating 3-4 GB RAM and 2 cores to the VM.

It runs Xcode 4.4 smoothly with the iOS simulator while the VM is up and running (I've already upgraded to Mountain Lion too).

I'm also using homebrew to pull over various *nix software packages, and with those, along with Gimp and Inkscape, I'm impressed with how good a dev box this little 3 pounder can be.

I'm outputting to my 27" Asus monitor at home, and it's very nice (I appreciate the higher resolution with so many apps up).

I haven't yet installed Eclipse or the Android emulator, but eventually I'll get to that (I literally just bought a Nexus 7 tonight, so that will be my primary Android test device, at least for the next 6 months or so).

All in all, very happy.
 

krravi

macrumors 65816
Nov 30, 2010
1,173
0
Hello All,

I'm a Windows developer looking to make the jump to iOS/MacOS development, and I'm looking for some opinions on the viability of the following as a development machine: 13" 2012 MBA with 2.0 GHz CPU, 8 GB RAM, 256 GB SSD.

Essentially, I would like to use the following software stack on my machine, with all software up at the same time:

- Xcode, iOS simulator, image editing software (GIMP and the like), browser, console, text editor, other miscellaneous lightweight programs.
- Parallels/VMWare running Windows 7/8 with Visual Studio 2010/2012, SQL Server, SQL Server Management Studio, IIS, browser, text editor, console, other miscellaneous lightweight programs.
- Ideally, it would be nice to have Eclipse and the Android emulator also running at the same time (running in MacOS, not Windows under the VM), but that is not strictly necessary.

Do you think the MBA above would run this stack with good performance, and without any major slowdowns or hickups? Naturally, you will ask "why not use a MBP?" and the main reasons are:

- Cost: I want to minimize cost (note that 256 GB+ SSD is a must have).
- Weight: I want this as light as possible. I will output to my 27" monitor when working at home, but the lightweight MBA can easily go portable and I can continue to work on it seemlessly, which is awesome.

Finally, no gaming, video editing, or other sorts of intensive work will be necessary.

Many thanks for your opinions.

I ran the above stack on a 2007 Mac mini with 2 Gb RAM. It wasn't optimal but it ran fine.

Just ordered an MBA 13" myself with 8GB RAM and 512 GB SSD and I plan on running the same software stack as you mentioned and I am sure it will keep up. Think about it, I ran the same stack(older versions) on a pentium dual core 5 years back and was able to do it without too much hiccups.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.