Buying Mac Pro: Question about the future of software development

Discussion in 'Mac Pro' started by Fesan, Sep 21, 2010.

  1. Fesan macrumors member

    Feb 19, 2010
    Hi, I am on the verge of buying my first Mac Pro and have a few questions to those with some insight into the software development world before I make my decision on whether to buy a 1cpu or 2cpu MP.

    I am buying this computer to last me for many years and because of that wondering alittle about the future of software:)

    1) Are software developers in general shifting towards making programs that utilize multiple cores? Will games, business software, leasure software etc. slowly start to be made with multiple cores in mind? Or is the trend that multiple core usage is mostly for professional editing?

    Think we will see that most software utilize multiple cores within a few years?

    2) How does multiple cores currently work with multiple programs running simultaniously? If I run two separate programs on a 4 core CPU will it use one core for one program and another for the other one or will the Turbo-Boost be blasting and they will both use the same core? If no will this be different in the near future?

    Would this be different in a two-CPU setup?

    3) Is there any difference between one CPU with X cores and two CPU's that combine for X cores?

    4) With buying a computer to last me for many years in mind would you go for a faster single CPU setup with 4 cores or a double CPU setup where each CPU ran at a slower clock-speed?

    I greatly appreciate all feedback and knowledge passed on about CPU's and the software industry trends:)
  2. johnnymg macrumors 65816


    Nov 16, 2008
    That's a lot of questions padner. :p

    The short of it is that there isn't any set easy answer to how App performance and multicores interact. Each application will have specific answers.

    Anyway, your questions can partially be addressed by digging around Lloyd's site. Here's a good start link but there are plenty more comparisons on his site.

    As a final comment: While it's reasonable to assume that multi-core support will improve in the next couple of years, DON'T assume all will be well in Oz for a long long time.
  3. goMac macrumors 603

    Apr 15, 2004
    Everyone is trying to make use of multiple cores. It's unlikely that software developers will ever get a full 8x boost on 8 cores, but it's being worked on.

    Depends entire on how much CPU power each program is using.

    Some. It's really a bunch of trade offs depending on what you want to look at. Two CPU's have more cache, but have to deal with cache coherency.

    I wouldn't worry about it too much.

    Honestly, I don't think it matters. Something will always get outdated on your computer, regardless of how much you spend. You could spend tons of money on CPUs, and then get outdated years from now because your RAM is slow, or because your system bus is too slow. You can't really outspend progress, or come up with a strategy to beat it. It's entirely possible that no matter which way you go, there will be a new CPU design in a few years that outdates going either direction.
  4. VelNZ macrumors newbie

    May 21, 2010
    I was in the same position as you with regard to buying my first Mac Pro and wanting to keep it for a long time. I ended up getting the 2.4ghzx8. I'm not a graphics professional or use any video/audio creation software.

    To me it appears that there is a shift towards multi-threading. However, don't expect anything much now. The only programs that use most or all of my CPU power (that I use) are: BOINC, Handbrake and XLD (audio conversion).

    I play games and there is definitely a shift going on there to support more and more cores seeing as clock rates aren't going up by much. Most new games now are at least dual core.

    Don't know whether in a few years software will support multi-threading, for a lot of stuff it just doesn't matter. Microsoft Office probably won't benefit from multi-threading seeing as it doesn't use much CPU power to begin with, same for a lot of other software.

    I have iStat Menus and it shows all 16 (8 real, 8 virtual) cores all the time so I constantly look at it to see what is using how much. I love multi-tasking so have all 9 of my spaces filled with programs. If I am using something that uses 100% of a core (such as running a Perl script), the OS will just use 1 core and then switch to another every so often, always maintaining 100% usage on 1 core. However, if I am running something like World of Warcraft, this also seems to be limited to 1 core (doesn't go over 100%/1600%) but runs a little bit on each of my 8 real cores. I don't think having 2 cpus changes anything with regard to this.

    I went for 2.4x8 because that is what I could afford. I didn't want to get the single processor model as I want to keep this computer a long time and I believe getting the 4-core or 6-core means you will hit a brick wall with regard to upgradeability. As well as this, the extra 4 RAM slots are a big bonus and would prompt me to get the 2-cpu model just by themselves. My goal is to use these cpus as long as they'll last me then upgrade them to 6-core 3.33 in X years. I hope that I will be able to source some of these by then for much cheaper than they currently sell.
  5. Vylen macrumors 65816

    Jun 3, 2010
    Sydney, Australia
    Writing multithreaded software is still hard and not fun to do.

    While there are libraries and such to assist in utilising threads, there's also the issue of what should actually be threaded.

    A nice example would be web-browsers, like Google Chrome that go that one step further and make a child-process for each tab and plugin so everything is sandboxed - and as a consequence, one tab won't lag/interfere with another since now they are running their own execution routines/threads.

    Conversely, it sometimes just doesn't make sense to make some applications threaded when there's no tangible benefit to do so. Or there just might be simple multithreaded approaches (e.g. have the UI for iTunes in one thread and audio playback in its own).

    Anyway... as I said, it's hard to make things "truly" multithreaded. People often stick with a single thread simply cause it's easy. When it's childs play to make multithreaded applications, then there will be a greater shift towards doing it.

    And it probably won't happen too soon.... University's have courses on concurrency and multithreaded programming but they're never compulsory in peoples degree streams... They might learn about threads but at a very low-level application (e.g. the OS), but it's not something they would immediately think of doing when writing their own applications.

    </rant thingy>

Share This Page