PowerBook Performance for Java Development?
brasten wants to get to the core of this issue: "I'm in the market for a new development notebook. I would like to jump into the Apple world and pick up a PowerBook. However, compiling very large Java applications of course takes some time, and so raw processing speed is a factor. I have been unable to find solid data on how fast a 1.33GHz PowerBook runs against the modern x86-based notebooks. Does anybody have any information that could help me compare?"
we did some tests on this two years ago and the 1ghz ppc came up on top, about 30% behind the fastest x86. this is probably because the ppc has a larger l1 cache and a better fpu (java uses exclusively floats, even when you declare type integer).
However that was 2 years ago and these days a x86 machine is probably faster (and cheaper if this is a concern.)
1.4.x upgrade gave quite a performance boost... I code som medium size java projects wich compiles at acceptable speed. Btw I have the older 1ghz model with slower memory and slower processor.
I would say that they aren't exactly speedy in compiling Java apps. I have noticed that even with small programs they can be compiled quicker on x86. I can't comment on the top of the range models but my 867Mhz G4 12" Powerbook does noticably take longer.
In saying this, I *much* prefer developing on Mac OS X compared to Windows. The document centric layout and general usability of OS X makes the whole process a lot more enjoyable.
At the end of the day I'd go into an Apple store and ask to test one out. Try it with some big project and judge for yourself.
First, intel's set to release Dothan, it's new Pentium-M for the centrino.
Then there are rumours of new PPC chips from IBM
(a) G5 PPC 970
(b) G3+altivec PPC 750VX - just a rumour none of these chips seen in the wild.
The bottom line, Powerbooks based on motorola G4s are soon to be phased out.
I know it's older hardware but I use a 400MHz G3 PB (Pismo) on a daily basis for developing Java and I have absolutely no problems with compilation speed - the first time the compiler is run (from Project Builder, CodeWarrior or the shell) takes a while but subsequent builds take no time at all. In CodeWarrior it *feels* no different to using my dual PIII 1GHz Win2k box. Running the apps is a different matter entirely - anything with a GUI takes forever to start up (but command line tools are pretty instant).
After about three months of relentless Willy action I reckon I'm now as good as when I was 10.
I work for a very large international company as a senior java developer. When I decided to take a sabbatical for master studies, I had to turn in my IBM A31p.
Between semesters, I returned to work and since my employer was unwilling to buy a new machine for just 2 months (my laptop was reassigned, they offered me a P3 desktop for a roaming job), I brought in my personal PB17, which I bought for my studies. I already knew, that it's a fine Java development platform, but I was unsure about a large J2EE project in a Windows company.
Integration went very smoothly (Of course it runs Exchange, yes Ms Office no prob) and even Bea WebLogic (assign the right jdk) and Together/J was a no-brainer.
Eclipse is a tad slower, but after getting used to it (key assignments and such), I'm just as productive as on my old Windows Laptop.
Summary: If you like Unix and need a laptop, there is no way around a PowerBook. Integration into the Windows world is easy. All the Java tools are available and run w/o problems at acceptable speed. Just make sure you have enough RAM, 1G is minimum for a Java-Pro.
Enjoy, I don't think you ever want to go back. Powerbooks are addictive.
This summer I was a coder for Rutgers University, doing various coding in Java and Perl. I can honestly say that between all the great editors and IDEs that the Mac has, along with OS X. It's a great development platform. I'd bring my 550Mhz G4 Powerbook in every day, hook it up to an additional monitor so I'd have coding on one screen and my iChat/API references on the large monitor, since I wasn't looking at that as much. Doing all the compiling and testing and everything, along with having iTunes blasting, and all the other sorts of stuff I would be running at the same time, it didn't skip a beat. I'm buying myself the top end 15 inch powerbook this week, as an upgrade, as my parents offered to buy my old one (after seeing how productive I was on it, as well as seeing the wonders of Wi-Fi they wanted it for themselves, and after almost three years of service, I could use a taste of some more speed. Not that my 550Mhz is SLOW by any means, but wanting to go faster isn't a crime :)
Viva La Revolucion! Buy a Mac!
I've recently bought a 12" iBook G4 800MHz, and it preforms directly like a Pentium III 800MHz with recent Java versions, which I found out using a Java dhrystones benchmark program to test it. The iBook scores 97.8 where the PC scores 99.2.
:-(
I've tested a lot of different platforms with that program, and it seems to follow SpecInt/Float benchmarks pretty well, if you look on how it compares to different systems, eg. a Sun SparcStation 5 scores around 4.9, making it 20 times slower than a Pentium III 800MHz PC, which also SpecInt/Float benches show.
So the PB at 1.33GHz will run like a PIII 1.33GHz, and you'll have to make up with yourself if thats sufficient for you. A P4 2.6GHz with HT scores around 216.
Also, if you decide to buy an iBook, be aware that it CAN'T run with an external monitor in any higher resolution than it's internal LCD, something my old Dell latitude from 1997 does with no problems at all
I don't know if that is true for the PB, but it sucks bigtime. I'm very disapointed with my iBook on that fact, along with some other assembly issues that other people with iBook G4 also seems to have.
If you're going to spend most of your time in Eclipse, I'd save the extra bucks and go for a PC.
-H
P'books can happily display a very high resolution desktop on an external display, and will properly span the desktop over the two displays.
If you're willing to do hairy firmware hacks, this feature can be added to an iBook as well, but I won't point you at references, as I'm disinclined to help you bust your iBook.
Nice to see the final sentence though: I'd save the extra bucks and go for a PC. Yes, iBooks are cheaper than the equivalent PC laptop, and P'Books are generally the same or less than the PC equivalents.
Here's the SciMark 2 benchmark scores for various platforms. This isn't an entirely relevant comparison for development as its comparing one aspect of CPU+JVM, eg I/O is neglible, but it gives you some idea of whats going available.
A dual G5 placed 15th in the list of submitted scores:
1. 554.92 Sun 1.4.2 WinXP 5.1 Sun. 1.4.2; IBM; P4 3GHz
[...]
15. 226.23 Apple 1.4.1_01 MacOSX 0.2.7 Apple Computer, Inc. 1.4.1_01; Apple G5; PowerPC 970 2x2Ghz
there's a lot of x86 ahead of PPC. I've got no axe to grind here, I have a powerbook myself and I find it a pretty decent working environment - partly I wanted one because I use wintel in work and wanted to get away from that when doing my own stuff.
My general advice - Apple professional portable range was not updated since last September. This means some update is imminent for next few months. Buying the Big Al now, you will pay the premium price for a '2003 machine. So if you can wait - wait. With Apple being the master of stealth in computer industry, no one can really guess when the new powerbooks will be released - and how good the upgrade will be. But right now, the gap between the hig-end Apple portables and the low-end Apple desktops is way too big. Especially for a company that actually relies on portable products.
The powerbook is perfect for java development or any development for that matter, why? Directly from http://developer.apple.com/tools/macosxtools.html:
Working Fast
The distributed build feature leads Xcode's performance technology lineup. Using Rendezvous, Xcode can farm out your project's compilation to idle desktop machines or even an Xserve build farm, drastically reducing compile time. Enabling near-instant turnaround for bug fixes, Xcode's Fix and Continue feature lets developers change code while the app continues to run.
Rendezvous, hard to spell, a pleasure to use.
Quite frankly, I *love* doing Java development on my Powerbook. I don't develop huge apps, though.
But what I do like is that I can easily have MySQL and Sybase running in the background, a bunch of Office v.X apps open, and still do compilations with little performance penalty. OSX seems to be the master at keeping many apps open without being like mollasses in January -- which is contrary to most of my PC experiences.
And Java works *well* on OSX now. Seemless. Xcode is great (and free), too.
Just my 2 cents (Canadian).
-psy
I work on Java projects for a living. I have a 1.25Ghz 15" G4 Powerbook an 800Mhz Dell piece of crap laptop, a 1Ghz P3 and an Athlon 2200.
:)
For compiles, the x86 processors are just always faster. For runtime performance the x86 processors are just always faster (except the Dell laptop). For general use and stability, the Powerbook is just always better. I don't have to worry about IT coming to check my machine for virii. Most of my unix tools work without a hitch without having to launch an internal OS as I do on windows, Apple listens to and responds to bug reports, and my Powerbook is still better at living in a mixed OS environment than my XP boxen.
If price is a concern - x86 is still the way to go, even if the G5 is under consideration. If being able to coexist happily with much of the Linux, Unix, open source world is more of concern - I've found that OSX is the ideal platform. All of the pleasure of dealing with Unix with none of the pain of HAVING to deal with the lacking areas of Linux
I've been a Mac guy since the 80's, and a Java guy since the mid-90's. I started doing Java development on Mac OS, back when Sun and Apple were shipping a JDK for Mac OS. Those early releases were crap, painful, and buggy, but in that the Mac was no different than any other platform.
Now I work for a software consulting firm doing fairly high-end Java development. All of that development takes place on Windows, and is deployed on Unices of various flavors.
Lately I've tried using my Mac for development on Java. I really, really have. But I have to say this, though it pains me to do so: it sucks for Java development. I thought, "Wow, a Unix based system with a great GUI! What could be better! I have a local CVS repository, all the tools like Ant, and none of the Windows wierdness!" Yet somehow, Eclipse doesn't work right. NetBeans, well, it's still NetBeans. IdeaJ doesn't look right and takes forever to launch. WSAD doesn't exist. Xcode, for all the hype, doesn't make sense to me: I'm sure it's a great tool, but I've worked with more than thirty different IDEs in my career (not counting revisions), and Xcode just feels wrong somehow.
My Windows box runs these apps flawlessly (except Xcode and NetBeans, which sucks on Windows too), and I'm so much more productive than when I use my OSX box that it's not funny. It's not so much that you can't do it on Mac OS X, but that because of the additional support, it's actually easier to do it on Windows. I spend less time fscking around with configuration, alpha builds, gui bugs, and slowness.
I use my Macs for a lot of stuff, and I'm about to migrate my mail/web server from Linux to Mac OS X server. But my Java development will continue to be done on Windows for a while longer.
but don't buy the RAM from Apple, buy the computer with minimal ram, and upgrade later. Apple charges exorbitant prices for its RAM upgrades.
This is only true if you blindly follow what Apple tells you on their website. But this is /.! We don't need no stinkin' rules! The fact of the matter is the iBook graphics hardware is identical in every respect to Powerbook hardware, which has the ability to drive external displays at different resolutions either mirrored or as a second display. There is a hack available to resolve the Apple-induced limitation.
I applied this hack the same afternoon I got my iBook G4 12", and it worked like a charm. /. Apple geeks unite!
HBH"Smart is sexy." -- D. Scully ("War of the Coprophages")
Using the DhrytoneApplet I found at http://www.c-creators.co.jp/okayan/DhrystoneApplet /, here are my results:
G3 IBook 700MHz, 640MB PC133 RAM, 20GB HD, Combo Drive
12182ms run time
820833 dhrystones/sec
G4 PowerMac Dual 800MHz, 1.25GB PC133, 80GB HD, Super Drive
9892ms run time
1010917 dhrystones/sec
G5 PowerMac 1.6GHz, 1.25GB PC333, 160GB SATA HD, Super Drive
5596ms run time
1786990 dhrystones/sec
You can test your machines to see where you stand. I am suprised at how little difference there was between the G3 and dual G4.
AC
I cannot emphasize buying a warranty enough. I went through enough parts in my current powerbook (G4/500) to build four new powerbooks. I saved approximately $16k in parts.
For $350, you can't go wrong.
I will now redundantly add my name to the end of my post. You know, in case you forgot me or something.
I say go for the PowerBook. You'll be getting a great all-around system that you'll love using. I just got a 1.25GHz 15" PowerBook, and it is by far the best computer I've ever owned.
This is very true, speed matters when doing a complete rebuild, but I rarely do a complete rebuild on my TiBook 667MHz (w/1024M RAM). In fact, if I import the classes from my other faster workstation, I never have to do a complete rebuild.
On the other hand I am just so amazed, after trying the relic 700MHz PIII laptop in the office, at how much faster my 667MHz PowerBook is (even with iTunes taking 10% of the CPU).
Imagine how it will be 18 months from now.
A programmer is a machine for converting coffee into code.
It was reported that Apple was having trouble getting g5s into powerbook because of the immense heat dissipation and power consumption. But with the 90nm version of the chip, these problems *should* be solved.
IBM is already claiming a massive power cut. Check The Register. My advice? Certainly wait for the next product cycle, and if you can, wait for a second revision g5.
Oobob
1) You definitely need lots of RAM. Compilation speed is just fine on my lowly 600 Mhz G3 iBook (20 seconds to rebuild all 100 or so classes (10 K LOC) and create a JAR file) but my IDE (JBuilderX) typically takes up 120 MB of real RAM, 500 MB of virtual memory. I have a total of 384 MB RAM and so if I am using any other RAM-hungry apps, my machine is running the disk a lot (swapping).
2) The latest release of JBuilder (JBuilder X) is much improved from previous versions. Lots of refactoring support. It is not yet officially available for OS X but I managed to get the trial version of JBuilder X Enterprise to install with the help of a note on the Borland community pages, and it runs fine. Details of how to get it running on OS X are here
3) Java GUI applications look so much better on OS X (Panther, Mac look & feel) compared to other platforms. This is an advantage because you will get an esthetic boost from looking at your app while developing, but it might be considered a disadvantage if (as is likely) the main target platform is Windows (where your beautiful GUI won't look nearly so nice).
About once every month or so, this same question seems to come up on the Apple Java development list, sometimes to a chorus of near flames where one person will remark, "Eclipse doesn't run half as fast on twice as expensive a Mac as my Pentium" and others will remark, "Depends on what the meaning of 'is' is."
Please, folk, yes, the Powerbook is now officially great for hacking Java. James Gosling has used one (as has been remarked) and apparently the JavaONE conference was full of 'em.
Here's all you need to know:
1.) Macs are slower in "anecdotal subjective tests" using Java on a "util of perceived quickness/dollar" ratio.
2.) Apple produces its own port of the JVM, so you're often an official release or two behind Sun's JDKs (so Linux on x86 or Windows).
3.) Java3D is apparently finally out on the Mac. Sheesh. (Another "post a month" topic on the list)
4.) The Apple JVM has historically not been as sharp as Sun's on Windows. Witness the 1.4.1 release on OS X 10.2 -- later unreleased through Software Update, with Swing that's buggy as heck. And I still haven't seen a J2EE specific release.
5.) Prepare to pay for the latest OS (10.3 required for 1.4.2) as well. That's a $129 surtax for Java 1.4.2 that you're not paying on Windows 2k, much less Linux.
And the all-important 6.) Yes, you will look and feel 733+ running your development on a Powerbook.
I use a 1 GHz iMac to hack and though Eclipse's speed is just above a 533 Celeron I run (and much less than my 2 GHz P4), it does just fine. Still, keep an x86 box around for some testing at some point. Write once, test everywhere.
It's all 0s and 1s. Or it's not.
Amongst the hats I'm currently wearing is that of a build engineer for a company that has a java product. We build using Apple's Java 1.3.1 on the Mac (to avoid some incompatibilities with 1.4.1) and Sun's Java 1.3.1 on Windows.
Our project builds in the following times: (minutes:seconds)
2:27 700 mHz P3 with 256 megs RAM
1:56 800 mHz Duron with 1 gig RAM
1:09 1.5 gHz P4 with 512 mb RAM
0:56 1.25 gHz G4 (15" AlBook) with 512 mb RAM
Bear in mind that this is 1.3.1, and I don't have any stats for 1.4 onward.
-fred
Sign #11 of Slashdot overdose: You see the phrase 'moderate Republican' and you wonder if that would be a +1 or a -1.
I have used a 700 MHz G3 iBook and a 1.25 GHz G4 PowerBook for Java development, speed has never been an issue.
Java apps look and feel great on OS X, much better than on Windows. With the toll-free Java Cocoa bridge, Java is an almost native language like Objective C, and UI design with Interface Builder is 1000x better than Swing.
Borland JBuilder X for Mac OS X has just been released.
I believe it supports J2ME development.
I use a 1 GHz 12inch Powerbook under OS 10.3.2 and a 1,6 GHz Centrino Thinkpad (T40) under Suse Linux 9.0 for java developement. We have a huge java project that is intended to supports an esa satelite.
In general the linux notebook is faster in compilation time and in execution time, especially in java vm startup time.
The precise factor depends on what you do. My general impression is, that apples vm implementation can be improved. Some things (big decimals) are a factor 20 slower than on the linux machine. Other things are nearly as snappy on both machines.
OS 10.3 has brought a dramatic increase in java speed.
In general I would say the powerbook is a factor of 1.5 to 2 behind the Thinkpad.
But:
working on a Powerbook is MUCH more comfortable in everyday use. The Network integration works without action required from you. The same with M$ documents or the use of a variety of really great code editors. On Linux I use jedit. No more choice since I am not an emacs or vi fan.
And:
As a developer with many years experience I must say that its bad advice to have a fast machine. If your machine is slower than the users machines you can be sure that your applications feel snappy on any users computer. If your computer is the latest blaster you can only guess (and pray).
So feel free and secure to use a powerbook or iBook with >= 867 MHz and ENJOY...
It simply is a pleasure!
If power really is a concern, you might consider waiting until WWDC in june. Typically Apple rotates powerbook lines every 8 months, which will be up in june. Also, with the release of the new xserve g5s at still 1U, it just makes sense for them to port their new processor into the powerbooks. These machines, while most likely pricy, will definatly pack a punch, and if still made of aluminum, will most likely burn a hole in your desk. The FP specs on even a single 2.0 g5 i'd imagine [mostly speculation] would perform right up with, if not higher than even the new 17-inch toshiba monstrosities. [3.0 p4s with HT] Good luck, buy apple.
Know thyself...
it misses the point really to say "yes/no/bad/good java on OSX". Might as well say "cars are good" (not in water they aren't).
.. . .
The real issue is apples/apples comparison. A badly architected java application ridden through with cyclic dependencies would take longer to compile on a machine with less RAM than it would on a machine with more RAM.
So, follow the advice of those who suggest taking an existing project and doing side-by-side for compilation benchmarks.
When it comes to actual productivity, ask yourself whether OSX is closer the the final environment it will run on; most often, if this is a *NIX server, OSX is your best bet. If your server is a windows server, well, then . .
Regarding productivity, the best advice is try it yourself; there are religious wars over IDE's (I'm a netbeans guy), but what *you* want to use is the real tool to use in benchmarks.
Now that objectivity has had its day, here's what i experienced:
compiling: OSX 1GHz Powerbook, 1Gb RAM is about 20% slower than the exact same project, compiling a well-architected web-application (not a single cyclic dependency) exact same Ant buildscript on a Windows 1.7 GHz P4, 1Gb RAM. Project size : 240 classes, about 20 jars used.
IDE usage: (same machines as above) Netbeans 3.5 runs noticeably faster on Windows than on Mac. No benchmarks, but estimate about 30%.
Overall: If lots of time is burnt on IDE response, you're doing something wrong. More design and less hacking is called for. The productivity of OSX is easily 50% more for me; access to symlinking for eliminating multiple jar's, directories, etc., actual scripting for automation if repetitive tasks saves me a bundle.
Your experience may be different, though I can recommend taking the time to check out OSX for yourself. You also will have access to a machine that is fun to work on. After 15 years of Windows, I find OSX a refreshing and pleasureable experience. Much more stable too
I recently did a head-to-head comparison of a 15" 1.25GHz AL Powerbook against a 2.6 (2.8?) GHz P4 HP notebook running WinXP. The "test" was a clean rebuild of our modularized ant-driven Java project. This includes generating ten or so Apache Axis based web services, generating lots of java constants files from xml, and compiling and merging the outputs. The code generation an general ant manipulation takes about half the wall-clock time. I consisder this to be a fairly typical real-world example of commercial java development.
The result:
the Powerbook was three times faster than the P4 notebook.
I suspect the PowerBook's faster speed is due less to the CPU than to the I/O subsystems and disk. In our build neither type of CPU sits there pegged at 100%. The P4 did seem to be riding closer to 100% though. It also spent the entire time blowing hot air like a hair dryer. The PowerBook fan very rarely comes on. Overall the PowerBook has been a great development platform for Java. I run eclipse 3M6 on it and while its not as snappy UI-wise as I'd like, once it gets "warmed-up" visiting all the eclipse perspectives and views its not bad at all. Clearly caching is important for eclipse performance. This brings me to the final point which is that on either machine if you want to use a Java based IDE you will need 1Gb RAM minimum. The IDE's are just pigs for memory. One warning, while running eclipse 2.1 on Windows I ran into nasty eclipse-crashing problems with running out of windows resource handles which I was never able to get around. (The eclipse developers couldn't reproduce this so YMMV.) The PowerBook hasn't had any such problems.