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

johngwheeler

macrumors 6502a
Original poster
Dec 30, 2010
640
212
I come from a land down-under...
Just wondering whether any software developers have got their hands on a nMP, or are weighing up the pros of cons of the system against other Mac/non-Mac options?

Most of the reviews (quite naturally) are focussed on the improvements in Video & Photo editing performance, with a few audio editors wondering whether the nMP is overkill. I'm wondering the same thing for my area of interest - Java client/server development.

Does anyone have an opinion of the nMP's suitability for the following jobs?:

1) Java / Obj-C / C++ / Groovy / Python app development using XCode, Eclipse, JDeveloper or other "heavyweight" Java IDEs, and associated build tools (Ant, Maven, Hudson etc.)

2) Running Java application servers (e.g. Glassfish, Jetty, Tomcat, WebLogic, WebSphere, JBoss)

3) Running databases.

4) Running virtual machines (Windows, Linux) under VMWare, Parallels, VisualBox.

I'm in the market for a new workstation class desktop, and am trying to decide whether the nMP is good value or not. I can probably get a standard 4-core desktop/workstation with an i7-4770 or Xeon E3-1270 / 32GB RAM / 512GB SSD for $1500-2000. However, most of these are fairly large under-desk towers, which may be noisy, don't have cutting edge memory/SSDs/interfaces and will be a lot less portable. It also won't run Mac OS X (legally). The upside it would cost half of what even a 4-core nMP would.

I guess I'm trying to justify an nMP for development work to myself! It looks like a quality piece of engineering compared to most desktop machines - I just don't know whether there is a compelling reason to get one for software development.

Anyone have an opinion?

John.
 
Just wondering whether any software developers have got their hands on a nMP, or are weighing up the pros of cons of the system against other Mac/non-Mac options?]

Yes of course. I'm all over it in a second, ordered one shortly after the store opened and am waiting. Hex core with D700's.

At the moment I'm porting a 50k library from Java to C++, machine translated. 100 some odd files with a million errors. I have three 27" displays waiting for the nMP, two presently connected to a 17" MBP/SSD at the moment. How does that work? Horribly, it sucks. Xcode is SLOW. Scrolling the error list is like .5 frames/second. Compiles take half a minute. The UI is slow and janky, it's slowing me down. And I can't hook up the third monitor! I have to have many, many files up simultaneously as I jump around fixing bugs (cross cutting concerns).

Under the nMP this will fly. Oh, and I also need Linux and Windows in VMWare. The MBP can handle that (16GB) but again it's kind of slow. The new computer will eat this for breakfast. I'm getting tired of hearing the fan spin up on the MBP too.

Yeah developers need the fastest machine they can get, I don't care what the coffee-shop hippie dot-commers say.
 
Big storyboards can run ass slow too. so hopefully this will be a speed boost where Xcode comes in. Not to mention having photo editing open, 3d app open, sound editing open, safari open, simulator open etc.

Edit, I ordered the same, hex core + D700's
 
Horribly, it sucks. Xcode is SLOW. Scrolling the error list is like .5 frames/second. Compiles take half a minute. The UI is slow and janky, it's slowing me down. And I can't hook up the third monitor!

Why do you think that the new Mini Pro will not suck? You didn't mention your current setup.
 
Why do you think that the new Mini Pro will not suck? You didn't mention your current setup.

I have four MBP's (15 + 17), an 11" Air, two mini's, a 2009 Mac Pro, and have owned iMacs in the past (hated those), and develop on all of them. At work I'm on HP workstations running Windows and a 15" MBP for OS X. Previously I developed on Linux and other UNIX's. I'm pretty sure the new Mac Pro will be the best development machine on the planet.

Edit:
I should add; OS X is the best development environment available, that's why Google requires developers to get special approval to use anything else. When I go to Hackathons everybody is on a MBP. However, Macs suffer from display envy. Most Macs only support two displays. Three are ideal, one center and two flanking. Those 4+ display wall desks you see are ridiculous. Three, no more, no less.

Now if you use a MBP you have to have the stupid 15" screen on. Or you can close the lid, but then it runs hotter. And normally you can only run two displays, can the Retina drive three? Whatever ... the MBP is great when you're mobile, but for serious work it's a piker.

The iMac should be fine, but I hate the absolute un-upgradability of those. And when I spec out the minimum computer I get one at $2700, only $300 more for the Mac Pro! Of course as a developer you should have three Cinema displays sitting around anyhow.

OS X is the only operating system where you can virtualize the other two, and there are times when I need 64GB RAM. All the time I need a fast CPU and storage.
 
Last edited:
I have four MBP's (15 + 17), an 11" Air, two mini's, a 2009 Mac Pro, and have owned iMacs in the past (hated those), and develop on all of them. At work I'm on HP workstations running Windows and a 15" MBP for OS X. Previously I developed on Linux and other UNIX's. I'm pretty sure the new Mac Pro will be the best development machine on the planet.

Edit:
I should add; OS X is the best development environment available, that's why Google requires developers to get special approval to use anything else. When I go to Hackathons everybody is on a MBP. However, Macs suffer from display envy. Most Macs only support two displays. Three are ideal, one center and two flanking. Those 4+ display wall desks you see are ridiculous. Three, no more, no less.

Now if you use a MBP you have to have the stupid 15" screen on. Or you can close the lid, but then it runs hotter. And normally you can only run two displays, can the Retina drive three? Whatever ... the MBP is great when you're mobile, but for serious work it's a piker.

The iMac should be fine, but I hate the absolute un-upgradability of those. And when I spec out the minimum computer I get one at $2700, only $300 more for the Mac Pro! Of course as a developer you should have three Cinema displays sitting around anyhow.

OS X is the only operating system where you can virtualize the other two, and there are times when I need 64GB RAM. All the time I need a fast CPU and storage.

I must say this was my thinking too. But I would like to wait for 2nd gen and 4k imacs to have better options. Right now if you want 4k 60hz its mac pro or the highway.
 
If you're only thinking about the four core, and you don't do development for GPUs, not worth it.

The biggest strength of the new Mac Pro is the 6, 8 or 12 cores for VMs or development, or the dual GPUs.

I don't know what the magical speed formula for Xcode is, but I've noticed on my old Mac Pro it's slow, and on my new MBP most the lag is gone.
 
If you're only thinking about the four core, and you don't do development for GPUs, not worth it.

The biggest strength of the new Mac Pro is the 6, 8 or 12 cores for VMs or development, or the dual GPUs.

I don't know what the magical speed formula for Xcode is, but I've noticed on my old Mac Pro it's slow, and on my new MBP most the lag is gone.

Actually xcode scales with cores digital lloyld did a benchmark for it.
 
Yup. I don't know why people and Apple ignore this usage of the Mac Pro. I think developing on anything but a Mac Pro is unbearable.
 
Yeah developers need the fastest machine they can get, I don't care what the coffee-shop hippie dot-commers say.

LOL. Not all developers have the same kinds of projects as you. I am a developer, and manage very well with a 13" rMBP, performing tasks very similar to the OP. It does not make me less of a developer (or a coffee-shop hippie dot-commer as you so eloquently put it) because my projects don't have a million errors.

OP, I don't see how you'd benefit greatly with a Mac Pro for the tasks you have listed.
 
LOL. Not all developers have the same kinds of projects as you. I am a developer, and manage very well with a 13" rMBP, performing tasks very similar to the OP. It does not make me less of a developer (or a coffee-shop hippie dot-commer as you so eloquently put it) because my projects don't have a million errors.

OP, I don't see how you'd benefit greatly with a Mac Pro for the tasks you have listed.

Hmm, interesting. I currently use both a 2013 MacBook Air (i7) and a 2011 Mac Mini Server (with 16GB RAM & SSD). The MBA is fast due to its PCIe SSD, but really struggles when memory gets scarce. I need to run at least 3-4 JVMs (most with at least 1GB heap), a database, web-server & the Java-based IDE, and the MBA barely manages this. The Mac Mini has more headroom due to the 16GB RAM, but isn't terribly fast (2.0GHz clock), and the SSD is relatively old (OWC Sata-2). I have actually tried running both together - I use the MBA for the IDE and client software, and the Mini to run server VMs for Java app servers, database etc. I develop the apps on the MBA and deploy them to the Mini (via Ethernet).

I see the main limitation of this approach being the network connection (deployment and general management [via VNC or SSH terminal] is slower than having things running locally). Also the total RAM is marginal; it would nice to have 32GB to play with.

I'd agree that a reasonably powerful laptop is fine for developing Java apps, but its the VMs that really need the memory, fast storage and dedicated CPU cycles. In my experience, sufficient memory is the most important of these - everything grinds to a halt with swap access once the physical RAM is used. Having more than 4 physical cores would be really nice for running lots of VMs, but I don't know what the real impact of "overcommitting" VM vCPUs to a lesser number of physical cores would be with the kind of servers I run - I suspect that avoiding contention for physical resources could be an important factor is maintaining good performance.

So the following questions remain:

1) Does having 6-8 cores really improve typical development tasks significantly enough to warrant the cost of the Xeon CPU?

2) Does the nMPs processing power / stability / quality justify its price for software development when compared to cheaper desktops?

My gut feeling is that the 4-core nMP with 12-16GB RAM, whilst undoubtedly a nice machine, probably isn't going to be hugely faster than a $1000-1500 i7 4770 desktop. The 6-8 core nMP would have a clear advantage, but boy, do you have to pay for it!

John.
 
LOL. Not all developers have the same kinds of projects as you.

Obviously. A modern day Chromebook is more powerful than a supercomputer from 10 years ago. A iPad is as powerful as the Cray 2, and I was developing on far less capable machines at the time. I have a HP 71B programmable portable computer that I can do plenty of work on.

HP-71B-2-M.JPG


Speaking of Chromebooks, many startups give them out to developers as that's all you need to develop, and they're considerably cheaper. However, for any level of programming from shell scripting to what I do, a more powerful computer will be more productive. What development wouldn't benefit from three screens, silent and lightning operation?
 
Obviously. A modern day Chromebook is more powerful than a supercomputer from 10 years ago. A iPad is as powerful as the Cray 2, and I was developing on far less capable machines at the time. I have a HP 71B programmable portable computer that I can do plenty of work on.

Okay, now you're just being patronising, if you weren't already. Where were Chromebooks or HP 71Bs mentioned? All I'm saying is that many serious developers can work productively on a MBP. And yes, without three monitors.
I work professionally on a vast array of projects, without three monitors. My iOS projects compile in a few seconds. My Java apps compile and launch in a few seconds. What benefit to me, a non-hipster developer, would a nMP be? None.

Sorry John, based on your last post, you do sound like somebody who could benefit from a more powerful machine.
 
Okay, now you're just being patronising, if you weren't already. Where were Chromebooks or HP 71Bs mentioned? All I'm saying is that many serious developers can work productively on a MBP. And yes, without three monitors.

Probably, but I'm making the point that certainly we can develop on any machine, but benefit comes from more powerful ones. The argument constantly gets mixed up here, people keep saying you don't need a nMP. Sure, even the graphics pros don't need it. They can submit unix server jobs like we did in the old days. My point is that any developer will benefit from a nMP, even if they don't absolutely need it, whatever that means. Even though its somewhat annoying I'm going along just fine on my MBP 17" with this project, as I'm waiting for the nMP.
 
if nothing else the nMP is a good choice for developers because of it's unusual hardware. if the future really is in GPGPU this gives them an opportunity to do their real work on a generally fast machine, then experiment with openCL and whatever IDEs support that type of work on the side.
I'm more of a web Dev so the major benefit for me is being able to have all my tools plus a few VMs running concurrently with little impact on each other's performance.
 
I'm an amateur developer ... and not a very good one. I use Xojo. I ordered a new Mac Pro (quad) and it's been shipped ... supposed to be in my hands Jan 8.

Didn't really need one, but wanted one. It will replace my Mac Pro from mid-2012. Also got the 4k Sharp, which has already arrived. I'll be taking the 2012 Mac Pro to work to replace a rMBP ... which will end up being a spare for travel.
 
Mac Pro is an overkill for most developers. My 2012 rMBP is more then capable of serios programming. Of course, as always it depends on what you do.
 
Actually xcode scales with cores digital lloyld did a benchmark for it.

I know. But iMacs come with 4 cores as well. So if you have a 4 core iMac, there is no advantage to a 4 core Mac Pro.

If you're talking about a 6, 8, or 12 core Mac Pro, that's more useful. But the OP was talking about a 4 core.
 
Probably, but I'm making the point that certainly we can develop on any machine, but benefit comes from more powerful ones. The argument constantly gets mixed up here, people keep saying you don't need a nMP. Sure, even the graphics pros don't need it. They can submit unix server jobs like we did in the old days. My point is that any developer will benefit from a nMP, even if they don't absolutely need it, whatever that means. Even though its somewhat annoying I'm going along just fine on my MBP 17" with this project, as I'm waiting for the nMP.

You make a good point. There is no such thing as "too fast" for any computing task, but "fast enough" can be hugely subjective. Personally, when I find the that the responsiveness of a computer or application causes me to wait for an inconvenient amount of time, then it's not fast enough. How long is this? It depends on what you're doing - booting a VM or starting an app server might take 2-3 minutes, and if you have to do it many times a day, you soon wish for something faster. If it took 20-30 seconds, I'd be impressed. If a web page took 20-30 seconds to load, I'd be pulling my hair out. It also depends how often you do a task. Building and deploying an app might take 30 seconds, which is also tedious if you do it 50 times in a day.

I've experienced a lot of frustration with slow response times from development tools or deployed apps - the idea of having a computer that does everything really quickly is highly attractive. I'm just wondering whether the nMP is this computer. Really need to get to use one hands on - do you think anywhere will rent them out?

John
 
Yes of course. I'm all over it in a second, ordered one shortly after the store opened and am waiting. Hex core with D700's.

At the moment I'm porting a 50k library from Java to C++, machine translated. 100 some odd files with a million errors. I have three 27" displays waiting for the nMP, two presently connected to a 17" MBP/SSD at the moment. How does that work? Horribly, it sucks. Xcode is SLOW. Scrolling the error list is like .5 frames/second. Compiles take half a minute. The UI is slow and janky, it's slowing me down. And I can't hook up the third monitor! I have to have many, many files up simultaneously as I jump around fixing bugs (cross cutting concerns).

Bleh I know this isn't quite on topic, but were they both thunderbolt displays? I can't think of another way to do that. That does sound really irritating though. I hope you enjoy the improvements offered by the new machine.

Under the nMP this will fly. Oh, and I also need Linux and Windows in VMWare. The MBP can handle that (16GB) but again it's kind of slow. The new computer will eat this for breakfast. I'm getting tired of hearing the fan spin up on the MBP too.

For me the ram limit on a notebook is often a bigger hindrance than the cpu (not doing development other than some scripting and really simple stuff). That would be brutal with multiple VMs.
 
Mac Pro is an overkill for most developers. My 2012 rMBP is more then capable of serios programming. Of course, as always it depends on what you do.

Exactly. The rMBP (and even my 2013 MBA) are great machines for development, within their memory limitations. I think the SSDs really help here. However, I've found that once you start using significant amounts of disk swap space (> 1GB) that things slow down considerably.

The 16GB RAM limitation (8GB on the MBA) gives a lot less room for running multiple VMs (which *love* lots of RAM to keep them happy!).

I would say that if you don't need to run VMs as part of your normal development set up, then the nMP is probably not "necessary", although I'm sure it would speed some things considerably. The real benefit of the nMP over another high-end 4-core machine is having 6+ cores, and 32GB+ RAM. If your dev tools don't make use of this, then it's probably more than you need (but exactly what you want!).

John
 
Bleh I know this isn't quite on topic, but were they both thunderbolt displays? I can't think of another way to do that. That does sound really irritating though. I hope you enjoy the improvements offered by the new machine.

Yeah I hate the asymmetry of the MBP and two monitors. Having the MBP front and center makes the main display your worst, but at least it's symmetrical. If you put it off to the side the whole thing is off kilter.


For me the ram limit on a notebook is often a bigger hindrance than the cpu (not doing development other than some scripting and really simple stuff). That would be brutal with multiple VMs.

I've got 16GB in there which seems plenty enough.

----------

You make a good point. There is no such thing as "too fast" for any computing task, but "fast enough" can be hugely subjective.

At my workplace we regularly upgrade our computers every few years, and get high end Xeon workstations. They cost more but if it saves a little time and frustration for the engineer that saves the company large sums of money.

With my work I skimp on nothing with my computer. Engineering is hard enough, don't need to make it harder by getting sub standard computers.
 
You make a good point. There is no such thing as "too fast" for any computing task, but "fast enough" can be hugely subjective. Personally, when I find the that the responsiveness of a computer or application causes me to wait for an inconvenient amount of time, then it's not fast enough. How long is this? It depends on what you're doing - booting a VM or starting an app server might take 2-3 minutes, and if you have to do it many times a day, you soon wish for something faster. If it took 20-30 seconds, I'd be impressed. If a web page took 20-30 seconds to load, I'd be pulling my hair out. It also depends how often you do a task. Building and deploying an app might take 30 seconds, which is also tedious if you do it 50 times in a day.

I've experienced a lot of frustration with slow response times from development tools or deployed apps - the idea of having a computer that does everything really quickly is highly attractive...

I think this is getting at it.

Developers spend most of their time typing into a text editor or reading technical materials, or (hopefully) doing nothing but thinking. These can be accomplished on a wide range of machines. But it's also a very iterative activity. The nature of the iterations depends on what you do, but there are always things you do over and over. And when one of those things becomes too common or too slow, you spend some time and effort figuring out a more efficient workflow. A new Mac Pro is necessary for hardly any kind of development, but it will probably let to spend a less time figuring out more efficient workflows and will generally make everything else potentially a little snappier, too.

Then again a high-end iMac might do all that just as well for many for somewhat cheaper.

...I'm just wondering whether the nMP is this computer. Really need to get to use one hands on - do you think anywhere will rent them out?

Well, no computer will necessarily make a poorly written tool (or one that is doing something it wasn't really designed to do) run fast.

The new Mac Pro is a fast and well balanced machine -- fast RAM, really fast storage, fast CPU, fast GPU -- so it's not going to be introducing any bottlenecks into your development process.

There are people that will rent anything, but the price is likely to be pretty brutal.
 
Real benefit of nMP is with >6 cores and 32-64GB RAM.

I know. But iMacs come with 4 cores as well. So if you have a 4 core iMac, there is no advantage to a 4 core Mac Pro.

If you're talking about a 6, 8, or 12 core Mac Pro, that's more useful. But the OP was talking about a 4 core.

Yes, I was looking at the 4-core initially, but I'm coming to the conclusion that the real benefit of the nMP can be found in the higher configurations, where the difference between top-end i7 desktop chips and the E5 Xeons becomes more apparent.

If the server environments (app servers, VMs) can make use of lots of cores (which they generally can), then a 6-12 core nMP is going to have significant advantages. Similarly, where the i7 maxes out at 32GB RAM (socket 2011 i7's excepted), the E5 can address up to 256GB (although 64GB is likely to be the economic limit in the nMP).

I think for development, I would now be looking at 6 or 8 core nMP with 32 or 64GB and 512GB SSD to run a handful of VMs on local storage. Only trouble is that it costs an arm and a leg!

(BTW: Yes, you can get a 6-core i7 (4930/4960) CPU for about the same price as the E5-1650, which can support 64GB, but I don't know of anyone making a workstation using this CPU)

John
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.