Snow Leopard first impressions on Nehalem 8-core

Discussion in 'macOS' started by Spacekatgal, Jun 24, 2009.

  1. Spacekatgal macrumors regular


    Jun 9, 2009
    I bought a Nehalem 8-core MacPro this weekend to replace my well-loved but aged first gen MacPro. My initial reaction was one of moderate disappointment. It was faster, but only marginally. The reports that single threaded tasks were slower because of their inability to take advantage of the multicore processors are not an exaggeration at all.

    I upgraded the ram from 6 to 16 gigs, which helped tremendously with the pro CS4 apps I use. I did my usual trick of making several ram disks and putting them in a raid to give Photoshop a speedy primary scratch disk. Using the extended 3d tools was finally a much better experience than the 1st gen macpro. But, looking at my CPU usage, Photoshop still would only use 10 percent of my 8-core at a time.

    I decided that I couldn't wait until September to get full use out of my machine and decided to take Snow Leopard and central station for a ride.

    First of all, it's fast - very fast. I'm getting 100 percent usage of my CPU with processor intensive apps now. 3d compositing work with Cs4, the most processor intensive part of my workflow, is much quicker and highly usable. An object I've been working with, a 600,000 polygon battle cruiser, took 10-12 seconds a change with the stock-configured Nehalem MacPro. Now, it's taking 3-4 seconds a change.

    If you have any questions, or have anything you want me to throw at it, let me know!
  2. Tallest Skil macrumors P6

    Tallest Skil

    Aug 13, 2006
    1 Geostationary Tower Plaza
    I don't know anything about this, so is it something to circumvent the 3.3GB RAM limit in CS4?

    Image thereof? :D
  3. edesignuk Moderator emeritus


    Mar 25, 2002
    London, England
    It's just to give you an insanely fast scratch disk AFAIK, nothing more, nothing less.
  4. Amdahl macrumors 65816

    Jul 28, 2004
    Are you running the 64-bit kernel?

    Starting from the premise that CS4 can't be using new features, any speed improvement has to be from improvements in the OS. Improvements in virtual memory management seem a likely possibility(to use >4GB in caching and swap). Another possibility is that Apple has finally got automatic CPU thread affinity working well, and your CPU caches are getting used properly.

    What makes no sense is your claim that you're getting full usage of all 8 cores on SL, but not on Leopard.
  5. Spacekatgal thread starter macrumors regular


    Jun 9, 2009
    Yup, I can get in into 64 bit mode by holding 6 and 4 as it boots up. The speed increases are obviously through the OS as CS4 is only in 32 bit.

  6. southerndoc macrumors 65816


    May 15, 2006
    You can't configure it to automatically boot in 64 bit mode? I'm confused.
  7. Matek macrumors 6502a

    Jun 6, 2007
    Well, first of all, speed improvements are less noticable on more powerful boxes, that's logical. But that aside, anyone who knows his way around computers will tell you Apple can't simply say "we will make stuff run on more cores with our magical grand central dispatch". Some parts of software simply cannot run in parallel, period. Consequently, Amdahl's law spanks your ass harder and harder as you use more and more cores and that's what you get.

    Now don't get me wrong, some software will benifit from OpenCL, Grand Central Dispatch and other optimisations in Snow Leopard, but it's foolish to expect a huge overall speedup, these things are quite specific.
  8. Amdahl macrumors 65816

    Jul 28, 2004
    Well said, my good man! Some people think my law was repealed, or that Steve Jobs and his fairy dust can work around it.

    As that nice Herb Sutter put it, the free lunch is over!
  9. Stachelsk macrumors regular

    Dec 17, 2008
    32/64-bit has nothing to do with speed. Even when Snow Leopard and a 64-bit capable copy of CS4 comes out, it won't be any faster... it will just be able to circumvent the 3.3GB limit.
  10. Catfish_Man macrumors 68030


    Sep 13, 2001
    Portland, OR
    Untrue. Porting an app to 64 bit is often good for a 10-20% speedup for a number of reasons (several of which only apply to OSX).
  11. Stachelsk macrumors regular

    Dec 17, 2008
    What are the reasons why 64-bit OS X apps are "faster" when compiled for 64-bit processors?

    I'd like to see the reasons, or legitimate benchmarks. 64-bit instructions are the same speed as their 32-bit predecessors... Memory moves are probably actually slower because you're pulling twice as much data across the memory bus.

    Edit: It appears that you are correct. The reasoning is extra integer pipes, and the fact that Apple is beginning to pass references through registers instead of the memory stack now. Interesting.
  12. Amdahl macrumors 65816

    Jul 28, 2004
    Sometimes there is a loss due to 64-bit pointers on the bus, but in the case of PC, usually you do come out ahead because AMD64 doubled the number of registers. x86 had used only 8 registers since 1978. All that changed was the eight registers got longer, and with some instructions, you could sometimes use the upper half of the longer register as a quasi-separate register, but such usages still caused pipeline stalls/dependencies as if you were accessing the whole register.

    Extra integers pipes are possible because of the extra registers. Without extra registers, the pipe would be stalled all the time waiting for the outcome of other instructions using the same register in other pipes.
  13. Catfish_Man macrumors 68030


    Sep 13, 2001
    Portland, OR
    The reasons I'm aware of are:

    1) More registers
    2) Supports the new objective-c runtime
    3) Avoids two TLB flushes for system calls (swap kernel in, swap app back in). This doesn't apply to windows/linux by default since they use 2:2 and 1:3 address space splits instead of OSX's slower but more flexible 4:4.
    4 (sometimes) ) Zero-cost exceptions (which are somewhat misnamed... they're *more* costly if you throw exceptions, but less costly in the more common not-hit case)
    5 (speculative) ) I suspect that the lack of binary compatibility headaches may have allowed them to make other subtle changes in 64 bit mode.
    6 (future, related to 2) ) Non-fragile instance variables. These are actually a bit slower, but could allow restructuring parts of Cocoa that haven't been possible to change before, potentially improving things.
    <edit> 7) As you mentioned, the parameter passing convention is different on x86-64. </edit>

    Then, partially countering this out, 64 bit pointers and data types increase pressure on the data cache and bus. I'm sure a very small subset of apps will be slower due to this.

    <edit2> To clarify, I mean a small number will be slower overall. All apps will be slower because of cache/bus pressure, but most will end up faster due to the other factors.</edit2>
  14. ACiB708 macrumors regular

    Apr 6, 2008
    Really? How come? AFAIK CS4 for Mac is 34bit, which means it only recognizes 3GB of ram, so it doesn't really make a difference 4GB or 134GB RAM right..?
  15. German macrumors regular

    Jul 3, 2007
  16. jimmypopjr macrumors regular

    Jan 7, 2009
    Hey Bri! Thanks for the RAM! Just got it, and then stumbled onto this thread. Didn't even know it was your thread til a few posts down.

    Anyways, how did you go about installing SL? Directly to an internal drive, or to an external FW/USB?

Share This Page