[Pythonmac-SIG] Regarding universal python framework....
bob at redivi.com
Tue Jan 30 23:21:30 CET 2007
On 1/30/07, Christopher Barker <Chris.Barker at noaa.gov> wrote:
> Hi all,
> I had a question/comment from a numpy/Scipy developer that I was asked
> to forward on:
> > > To get the "definition" of "universal" I went to
> > > http://en.wikipedia.org/wiki/Universal_Binaries
> > >
> > > the last paragraph says:
> > > Apple's Xcode 2.4 takes the concept of universal binaries even
> > > further, by allowing four-architecture binaries to be created (32 and
> > > 64 bit for both Intel and PowerPC), therefore allowing a single
> > > executable to take full advantage of the CPU capabilities of any Mac
> > > OS X machine
> What are folk's thoughts on building "quad binary" universal builds in
> the future? Is there much point? Are there any 64bit Intel Macs? What
> difference might a 64bit build make on a G5?
A 64-bit build would use more RAM, and it would let you address more
RAM. That's pretty much it. It would also be only usable on leopard. I
tried to build ppc64 on my G5 with tiger and it just crashed (and I
didn't have enough reason to figure out exactly why).
For intel it's probably a bit different because there's more registers
and whatnot in 64-bit mode... so it may actually be an overall
performance win for machines that can do it.
I think all Core 2 Duo machines are x86-64 capable.
> For the app in mind, this is the issue:
> I am interested in 64-bit because it is supposed to be able to
> open >4GB data files in memmap mode (that is, you could treat any
> large data set like a normal numpy array and *instantaneously* access
> sub-data without ever loading the entire file. Note that this works
> even with small amounts of physical memory, only the (theoretical)
> memory address space has to be 64bit.)
That is a good use case for having a 64-bit address space.
The problem with a quad binary build is that there's a lot more
difference between 32-bit and 64-bit than there is from PPC and Intel.
It would be a lot of work to make that happen. It would also end up in
pain because I believe that a 64-bit machine would default to using
the 64-bit version of the executable which wouldn't be compatible with
any existing extensions.
It would make a lot of sense to have a 64-bit python distribution that
was built for x86-64 and ppc64... but I don't think it would be a good
idea to try and make python build quad.
More information about the Pythonmac-SIG