Monday, August 24, 2009

Status of the PowerPC port, and Snow Leopard's imminent release

Factor has had a PowerPC port since some time in 2004, when I got it running on my old G3 iMac, and I continued working on it after I switched to a Power Mac G5 as my primary workstation. However, since then, Apple decided to go with Intel chips, and I sold my G5, so I no longer own any PowerPC gear. As a result, the Factor PowerPC port has been neglected for a while now. Right now, the code in the master branch of the git repository bootstraps on PowerPC and basic things seem to work, but there are stability issues (it doesn't manage to finish a full continuous integration run). While I'll probably fix this particular issue and ensure that up to date binaries get uploaded, I can't help but wonder, now that OS X 10.6 is around the corner (without PowerPC support), is it worth my time to keep the PowerPC port going?

In addition to stability issues, the PowerPC port lags behind a bit as far as code quality goes. It doesn't do instruction scheduling, nor does it make use of some unique PowerPC features that would help improve performance (multiple condition registers, etc). AltiVec isn't used at all.

I have a couple of questions for the community:
  • Does anyone still care about PowerPC at all? I might be out of the loop here; is it about as relevant nowadays as DEC Alpha, or PA-RISC? Other than the game consoles and IBM's big iron gear, who uses it?
  • Is there any interest at all in a Linux/PowerPC port of Factor?
    I guess over time, people who still own older PowerPC-based Macs are going to switch to Linux, as Apple gradually ends issuing security updates and so on for PowerPC systems
  • Is anyone interested in taking over development of Factor's PowerPC support? It's only 1600 lines of code in basis/cpu/ppc, the assembler is simple to use and implemented declaratively, and the compiler's backend interface is well abstracted and consists of a few dozen small assembly templates. A lot of contributors have more than enough Factor experience to take this one on, I think. If you know some assembly language already, compiler backends are really not that complex in Factor, it just takes time to test them thoroughly.
  • Should I forget about PowerPC altogether, and spend the time that I would spend on it on reviving the Factor/ARM port instead? Last time I messed around with ARM (a few years ago) contemporary devices were pretty short on RAM; nowadays 256Mb RAM is starting to become common, and Factor would run much better.


Any comments on this matter are appreciated.

13 comments:

Anonymous said...

I vote to drop PPC support Arm.

Steve

Anonymous said...

only old fogey mac users who are probably still running tiger use ppc.

Dave said...

Adoption and usefulness would be better served if you spent your precious time working on a Factor/ARM port.

Make no mistake that you are the driving force behind Factor. Anything that will sustain your enthusiasm and motivation should be considered the correct move until many more talented developers are able to continue individual port ownership.

For all the reasons you listed, PowerPC should not be continued unless somebody else steps up (esp. with the actual gear). ARM is especially attractive due to the a vastly large number of increasing consumer devices, nevermind the perception that ARM already dominates most of the embedded market already.

john said...

I'll take over the PPC Branch!





...not!

Anonymous said...

I vote for ARM instead. There is an ARM emulator avaivable with a developer toolkit for an somewhat popular phone...

teh_walrus said...

You can't actually use linux for PPC anymore - I mean, it depends on the distribution obviously, but when I tried about 3 (openSUSE, ubuntu, then just flat debian) on my old PowerBook (G4) they were all completely useless (they would just about finish installing, and then not much would be working.)

I wouldn't bother supporting the platform any more if it is nontrivial to do so.

Anonymous said...

ppc Linux is not going to be attractive to your typical Mac user. Additionally the ppc distros get a lot less love than their x86 versions (I think all but the Debian one are unofficial these days).

George said...

drop ppc and add X86-Solaris

Darrin Thompson said...

Drop ppc. Support z80. Oh wait, wrong language...

Loren said...

I would be very sorry to see PPC support go. I understand if you don't have the time or resources for active PPC development, but at least if it could be made easy for someone to come along and assume the responsibilities of maintenance, then old diehard Tiger-users like me could continue Factor-ing without upgrading. :-)

Anonymous said...

I would still like to see PPC supported. I don't see getting rid of OS X on my G4 anytime soon.

stepancheg said...

Make LLVM port, and you won't have to think about architectures.

synchromesh said...

It would be sad to see PPC support go stale, but as you say, it's not irretrievable. And the ARM port would be much more useful (iPhone! iPhone? Android!).