|
 |
Tuesday, June 14, 2005 |
The "Not so Easy" Transition
from __future__ import * - Python on Mac OS X (Intel).
Python on Mac OS X for Intel is not going to be a seamless transition. Unlike Mathematica, there is going to be a lot more than 2 hours of effort involved. Why?
- Python uses autoconf. Autoconf is not Xcode. It does not have a checkbox for universal binary compatibility. Autoconf is a PITA.
- PyObjC depends on libffi. libffi doesn't know what the Mach-O calling convention for x86 is, so it doesn't work. libffi is very deep, magical, scary code. This has been mostly solved by Ronald over the past few days in the universal binaries lab.
- mach_inject (which PyObjC's objc.inject uses) depends on injecting code into other processes. On an OS that can be running code for two different architectures, how the heck does that work? How do you know which pid is running which architecture? Anyway, injecting from x86-x86 isn't going to work because mach_inject doesn't know x86 yet.
- py2app's macholib doesn't really support fat binaries yet. It understands them well enough to do the right thing with the PPC portion of the Mach-O header, but it ignores other architectures. It will need a semi-major refactoring in order to support this cleanly.
- Bgen stuff breaks. Specifically, all of your Carbon code that deals with four character codes is going to be broken due to endianness issues. Yet another reason to stay the heck away from this stuff.
So, thanks Apple, for giving us weeks worth of very hard and unintesting work to do. The least you could've done is put out a nice new laptop that I could buy to do this work on :)
I'm also not terribly interested in renting an Intel development machine from Apple so that I can do work that helps them more than me. If they sold it, or stated that we would get a grand worth of credit towards a real Intel machine when they're available, then I wouldn't complain. But no, we get to rent a machine from them, that we can't really talk about, publish benchmarks of, move to a location other than the shipped address (?!), etc. They also say that they're under no obligation to fix it if it breaks, and there are no refunds. Sweet deal!
7:10:49 PM Google It!
|
|
Excellent and impressively deep article in EEProductCenter about the Apple-Intel deal. Really great to see some things I have said vindicated. Jobs justification for the switch doesn't fly and neither does the cost thing that so many are dangling about. Choice quote: In a keynote address early this month at Apple's Worldwide Developer Conference, Jobs said the X86 road map leads to processors delivering 70 "performance units" per watt in the next few years, while the road map for the PowerPC [~] the Mac's longtime processor choice [~] will deliver only about 15. "We envision great products ahead and we don't know how to build them with the PowerPC road map," said Jobs.
That explanation doesn't fully wash, because the PowerPCs made by IBM and Freescale Semiconductor Inc. were typically custom-built variants and therefore not on a road map as such. It also does not address the question of costs.
Apple typically bought PowerPC chips for less than $65; X86 CPUs are likely to cost as much as twice that amount in round figures. It's possible, some industry watchers speculated, that IBM and Freescale may have refused to cave in to Jobs' aggressive price demands for CPUs that might have cost as much as $300 million to develop, forcing Apple into Intel's hands.
So there you have it... Furthermore, the article makes clear there is more Apple is not telling.
"I think what they are not telling people is they will have two transitions [~] one to 32-bit X86 and another to 64-bit X86 and, thus, three binaries to support," said Peter Glaskowsky, a system architect for startup MemoryLogix (Santa Clara, Calif.) and an analyst for the Envisioneering Group.
"This could amount to a half-step backward, but for notebooks it's not that big a deal," said Kevin Krewell, editor in chief of the Microprocessor Report. "However, it's something Apple is not talking about now because they don't want to scare off developers that will face a second transition."
Krewell said Apple's X86 shift marks a bold, bet-the-company strategy. Analyst Nathan Brookwood of Insight64 (Saratoga, Calif.) was skeptical Jobs will win that bet.
"I anticipate that when the dust settles on the PowerPC-to-X86 transition, Apple's market share will be lower than it is today, ending up somewhere between 1 and 1 1/2 percent," wrote Brookwood in a position paper. "At some point, even with Steve Jobs' awesome ability to attract attention for the company, Apple's declining market share will doom it to footnote status. At 2 percent [now], it doesn't have too much further to go in this regard." The current mantra of a lot of opinionated assholes is that "most people do not need that much memory." This is true, but some do and a lot will want it. I already pointed out that Jedi mind tricks do not work in this universe. I agree that Apple market share will be negatively affected by these two transitions. But, what I think is worst, Apple has suddenly become much less interesting from a technology point of view. The only thing they have left is beautiful designs and software. Will less translate in more? Could be, but for me less is still less.
12:10:06 PM
|
|
By the way. I can confirm that Mac OS X Tiger 10.4 for x86 can be found in the wild. I am working to get confirmation that it can boot non Apple x86 machines.
12:01:47 PM
|
|
From Harper's weekly: "It was reported that interrogators at Guantanamo Bay tortured
prisoners with the music of Christina Aguilera. Talk about cruel and unusual...
11:00:54 AM
|
|
© Copyleft 2005 Alfredo Octavio.
|