If you’re an early adopter and bought an Intel iMac or MacBook Pro, and you have “a keen eye and a habit of breaking things,” Propellerhead Software would like to speak to you. They’re beta testing version 3.05 for Intel Macs only, starting some time next week:


Reason for Intel Mac


You don’t even need a registered copy of Reason 3.0 to play. Just as interesting, though, is what’s buried in the announcement: we’re getting an updated ReWire library, and the Universal Binaries may not be the panacea we’ve heard they are — Propellerhead says they avoided them to prevent a big performance hit for existing PowerPC Mac users. More after the jump.


Mo Updates


Reason isn’t the only software getting a refresh: ReWire and REX libraries will become available as Universal Binaries at the same time as 3.05 ships, enabling these technologies on many other Mac apps (provided those apps themselves are Universal for Intel). ReWire 2.5 also includes improved sample loading performance.


Xcode Gripes, PowerPC Slowdowns?


Here’s the plot twist: after all the focus from Apple on Universal Binaries, apps compiled for both PowerPC and Intel processors, Propellerhead is compiling for Intel separately. You’ll have one binary file for Intel, one for PowerPC. (Remember the days when many 68k and PPC apps had separately executables?)


Okay, so, why? Simple: Propellerhead is disappointed with Xcode, at least for PPC apps, versus the tried-and-true Motorola CodeWarrior compiler. That should have no bearing on Intel performance, mind you. But Propellerhead says their tests show compiling with Xcode for PowerPC slows Reason down significantly, though they’re “working with Apple” to fix the problem.


Now, this raises a very significant issue: will we see performance drop on any of our apps when they’re compiled as Universal binaries? My first guess would be no; plenty of PPC apps are already compiled on Xcode. Sounds like this has to do with something particular to Reason. But I do wonder if other apps might be impacted. (Developers? Want to chime in?)


If this gets you down, feel free to read praise of Universal Binaries from our friends at Plasq, Native Instruments, Digidesign, Steinberg, and Ableton, over at Apple’s page. Still, I’m glad Propellerhead is taking their individual situation to heart and putting performance first. In the meantime, it clearly depends on app, because my copy of Logic Pro (Universal now with 7.2, and I strongly suspect compiled with Xcode for some time) is running quite fast on PowerPC.

  • kokorozashi

    This issue is probably not unique to Reason. What seems likely to be happening is that Intel processors run poorly generated code better than PowerPC processors do. Intel processors are not really CISC. They front as CISC, but they essentially recompile the CISC instructions into RISC-like instructions before executing them. This process of recompilation is done with a considerable investment of big-brained R&D by Intel. This means that bad CISC code gets optimized into better (if not good) RISC code. I'm oversimplifying, of course, but consider that if your processor is actually RISC, like PowerPC is, you have no opportunity to recompile in this way. You need code that was generated reasonably well in the first place to go fast. CodeWarrior generates fast code. Meanwhile, gcc is notorious for generating slow code. Put all these factors together and you get: CodeWarrior generates fast code on PowerPC but no code at all on Intel. gcc generates slow code for both processors, but the nature of Intel processors makes up for a lot of that. This is part of the speed boost Apple has been crowing about. Just imagine the potential on Intel processors if gcc didn't suck!

  • Mikael

    The comment above is preposterous of course.

    If it's just Reason which runs slowly on PPC Macs and e.g. Logic runs quite fast on the same hardware then how on earth can anyone come up with any other conclusion than that it must be something wrong in Reason?

    The x86 processors are crappy to mediocre in many ways with lots of bugs but has thanks to a lot more people using it and developing compiler software (e.g. gcc) for it, compilers tend to be more "mature" for that processor.

    Since other software producers have been successful in writing fast code I believe (hope) that the Propellerheads will find a solution, but I'll NOT hold my breath…..