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.
Once you Mac, you'll never go back.
Neither my PowerBook G4 17", nor 12" offer break-neck speeds. My tests from mid last year concluded it can't out perform a generic PC laptop at the same price point. However it's a platform developed by smart developers for smart developers. Coming from either UN*X or Windoze, after a play, you're gonna oh-so-want one.
PS... You'll want all the RAM you can afford.
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.
The G4 can't win the battle against modern x86 processors anymore.
But on the other side, how often do you compile a whole project? While you develop, there are mostly only very few files changed. Compiling them then is only a matter of seconds. On every platform.
The much more important question is, if Mac OS X and the applications can speed up your developing process? If you saved 10 seconds by faster editing the source files, you can spent 5 seconds for the longer compilation time and save 5 seconds for your personal recreation ;)
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.
Although performance is important, it also depends on your development environment. For some of the work I do I need a database (PostgreSQL), and it makes it a hell of a lot easier to have the database, Java Application Server and IDE working on the one box so that if I need to work from home I can.
:)
Although Windows does have postgres available via. Cygwin, I had some difficulty installing it on my windows box... so I got a Mac instead.
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.
We developed a fairly large (~80,000 lines of executable code) WebObjects application. Our dev machines are all 15" PowerBooks in the 800 to 1GHz range.
Compile performance is fine, but more importantly, it's always improving. It's 50% faster that it was a year ago on the same machine. Xcode's predictive compiling only works with GCC for now, but if there's a way to stick it on javac or jikes, Apple will do it.
Apple likes Java. They have a vested interest in it via WebObjects - which is the back end for iTunes and the whole Apple online store. 100% Java. They're also getting into JBoss and other Java related open source projects.
The development tools are really nice, and you *will* get hooked on the PowerBook. We've got two 2.8 GHz Windows boxen available. Nobody uses 'em... except SETI.
I have found that running Linux on a 333mhz G3 runs a hell of a lot faster than OS9 on the same G3. Its also faster than Linux running on a x86 of the same speed.
The core of OSX is based on Darwin/BSD and as such I would expect similar speed improvements, but you'd better make sure that you get a powerbook with a nippy GPU because the GUI might mask the true speed of whats going on under the hood.
I'd go with the powerbook, they are lovely machines, I cant wait till I can afford one, all that unixy goodness in such a small package, and having apps such as iMovie etc, it would also be a fun purchase.
Electronic Music Made Using Linux http://soundcloud.com/polyp
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.
I did a similar transition two years ago. I went from a 1GHz PIII Dell Laptop running Red Hat something or other, probably 7.X, to a 450 MHz G4 PowerMac. The Power Mac was slower there is no question, but being able to have a Unix box with a native version of MS Office, and a complete Java environment was the clincher for me.
My development environment at the time:
I did extensive testing at the Apple store near me to make sure everything would work before making the move. They let me use a machine for two weekends solid. I would show up Saturday morning with my Dell laptop. I would take their top machine off the network and cross over cable it to the Dell, then copy all of my stuff over to the Power Mac. What I found after extensive testing is that the G4 running Java is basically MHz for MHz equivalent to a PIII.
Now, I was very happy switching to the Power Mac. Since then I have acquired a new Power Mac DP 1GHz, and an iBook 700, and both of them handle my environment very well. Of course the Power Mac is faster, but the iBook is acceptable. I would never go back to an Intel based laptop for Java development. Apple laptops are simply first rate, OS X stays out of the way, and the JVM is rock solid. I would guess that my next Apple laptop will be a PowerBook simply for the ability to pack it full of RAM.
So, get the PowerBook and come on in the waters fine,
Mark
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 do most of my engineering on my PowerBook," James Gosling states flatly. "I find it dramatically more efficient than a desktop system because, on one hand, it has all the power of a full-blown UNIX desktop. On the other hand, I can take it with me because it has all of the laptop stuff. I can work on a airplane, at home, in a corner when I'm sitting in a boring meeting. And it's able to do not just email and browsing, it's got fully-functional, high-end software development tools."
Powerbooks are now shipping with a 5400 rpm drive option availbale (as opposed to the painfully slow 4500 rpm drives standard). Hitachi has begun shipping a 7200 rpm (standard desktop rpm) drive for notebooks. My new PowerBook is being ordered, but the first thing I'm doing with it is putting in a new 7200 rpm drive to remove this limitation. slow drives have hampered Powerbooks for a long time, but the 5400 option and the ability to put in a 7200 rpm drive shuold make things "much better now". I'm looking forward to drooling after the disaster that was the TiBooks is finally over.
I am, and always will be, an idiot. Karma: Coma (mostly effected by
It doesn't matter. You buy a Mac if you like Macs. I personally enjoy using Mac OS X far more than using Windows. Everyone I know who uses Macs love Macs. Nobody I know who uses PCs love PCs, they just tolerate them. But you need to decide for yourself.
Now, you asked about Java performance on the Mac. It's fine. I recently switched from doing Java development on a PC to a Mac, and the Mac was faster. It was a faster machine (a dual 1.25 GHz G4 vs a single 1.6 GHz Athlon), so what this proves is that the Java performance on the Mac isn't totally horrible (otherwise the faster machine would have been slower at Java).
One thing to consider is that Apple, not Sun, is in charge of making the JVM. Apple is always a bit behind. They just recently released 1.4.2, for example.
And I would disagree with the people who recommend XCode. It's a nice IDE, but if you're doing pure Java, then you're better off using a smart IDE like IDEA or Eclipse that can do refactoring and smart code completion. IDEA and Eclipse both run fine on the Mac, though they look and feel a bit weird (IDEA has been getting much better recently; check out the version 4.0 release candidate instead of the currently-shipping 3.0 release).
Finally, if you do decide to get the Mac, and you've never bought a Mac before, here are some tips: Apple (like all manufacturers) charges a lot for extras so you might want to consider buying extra RAM elsewhere, and fixing a Mac can be expensive so I would recommend Apple's extended warranty, especially on a laptop.
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.
My new PowerBook is being ordered, but the first thing I'm doing with it is putting in a new 7200 rpm drive to remove this limitation.
Uh... dude? Hate to break it to you, but the hard drives aren't customer-replaceable in the aluminum PowerBooks. Seriously: you can't get at it. Can't get there from here. And if you try, even if you succeed, your one-year warranty and all future AppleCare go poof and disappear in little puffs of blue smoke.
Just get the 5400 and forget it.
I honestly was a bit scheptical myself before buying a laptop. I have been notorious at my company for buying a laptop and finding a way to give it to someone else and end up back on my workstation. About 2 years ago, when the tiBook had released the 800 mhz chip version (pre superdrive), I decided to make the jump.
First, the tools have come a long way. I was quite used to running eclipse on windows/cygwin or linux. Eclipse was very immature on mac when I bought my tiBook, but now isn't a problem.
The speed isn't the fastest in the world, probably on par with any lower end windows laptop you can buy today for 1100-1500 dollars still. BUT, I do strongly prefer to do java dev on my mac still. This is the first laptop that I have used as long as I have. It's working well enough, I am not sure I am going to even upgrade it this year.
iChat is pretty sweet, I use that as my primary communication tool with the rest of the engineers on my team. Unix terminal is great, I would get iTerm (Free), which is prefect for working on my remote app servers. Resin runs fine on my mac, so I can emulate my full development and deployment platform.
I also do a lot of scripts in Python as well, panther comes out of the box with everything just working. I haven't even bothered to install the debian tools apt for my mac yet.
JEdit is a great tool that runs perfect on my mac as well.
Now, I haven't reviewed the update that landed on my laptop yesterday, jdk 1.4.2. (automatic updates are nice).. but seems that everything is still working great after the update.
The ONLY complaint I have about my model is the poor reception on the wireless card.
My battery still seems to be holding strong.
I can't play any games on it, but thats probably not a bad thing as I would probably just get distracted.
I don't even bother with office for OSX anymore, as openoffice seems to suite my needs. Just find a Cocoa based launcher and your set.
I guess I would recomend that laptop if your wanting a nice tool for doing your work in. The tools are all there, if you use Java based tools. I am sure that the newer powerbooks would just 1-2x faster than what I am used to, but I am not complaining about speed at all. (My home workstation is a 3.06ghz comp with 2 gigs of ram, my laptop doesn't feel unreasonbly slow even after goofing with linux/windows on that machine).
My final advice is, determine if there is anything that you HAVE to do that won't work on mac, if the answer is no, it's definately a good buy and even though the laptops are a bit expensive, in my opionion, I have gotten every penny and more out of mine thus far and eventually when I feel my laptop is just not able to cut it anymore (no idea when this will be) will be replacing it with another apple high end laptop.
Good luck
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
One thing that I have noticed with Apple's JDK/JVM is that it does seem to take a little longer to fire up than Sun's JVM on Linux and Windows machines. I'm not quite sure why that is but in general it has been a non-issue.
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.
anyone got a solution under Panther so that I can justify to carry a PB around?
Having JDK1.4.2 is great but the lack of J2ME 2 is more and more like missing a limb now, and the pain is growing each day.
--
"The problem of standard is there are too many of them."
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
I'm a java programmer and I worked very hard to convince my boss to get me a 15" powerbook when it came time to order me a new machine. Funny thing is, it took me 8 months to justify mine, but then within one month three of my coworkers had theirs ordered. It's a great machine for development and it catches looks when working off site at the cafe too!
Jacob
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.
I'm a full-time developer, whose Java work typically pays the bills. I have a 1GHz Powerbook that I use; it's the only real UI-friendly computer I even turn on these days (the servers at clients' sites & in my closet don't count). I do all my day-to-day development on my Powerbook, with a CVS server running elsewhere that does the "official" builds, backups, etc etc.
:) Full graphical Java applications run fast, Java Web Start is built in, and the OS ships with a built-in Java Application Server, JBoss. The only downer is that JVM releases typically lag Sun by 4 - 6 months, but that's acceptable in my mind; it takes that long to shake the "D'oh!" bugs out of a VM anyway.
Overall, I've never noticed a performance problem when compiling large applications. As a barometer, I just did an "ant clobber dist" on a current project (around 200 classes, plus 50 JSP pages, etc etc), and it built a distributable in 18 seconds. Not too shabby. Overall, Java compiler performance shouldn't be a concern in purchasing a laptop; if your build takes too long, it's more likely the fault of a poor build process than a slow compiler!
Anyway, Java integration into Mac OS X is the best in the industry. It's amazing -- Apple's OS is more Java-aware than Sun's
Finally, if you're going to do lots of development at a desk, I'd also strongly recommend plunking down the $2K for an Apple Flatscreen. Yeah yeah, it's expensive... but you'll be more productive with a great external monitor. And if you're going to be buying that much hardware, you might as well look into joining the Apple Developer Connection, as you might be able to get 12 - 20 % off of hardware purchases (especially if you can claim Student status somehow).
HTH,
--Mid
... You need a sloped surface of some sort, an orange and an apple. Same thing.
Look, the real answer is that of course, even for very, very large Java projects, a newish G4 PowerBook is going to be fast enough.
You might be able to find a P4 laptop you can cook an egg on and might also compile your app a little faster, but what is it going to save you, really? 3 seconds per compile, if that?
When developing, if you're any good at all, you spend the bulk of your time writing code, not compiling it. If you're not very good, most of your time is still spent fixing errors reported by the compiler, or debugging code, and so maybe the debugger is where you should be asking performance questions.
Either way, deciding if you should get a Pentium or G4 based on compiler performance when what you're doing is writing code is somewhat like asking if you should get a Dodge or a Honda based on horsepower when what you're doing is driving a couple of miles to work... I mean, it's very likely that *other* factors are more important, like ease-of-use, target deployment platform, what you'd rather be spending your time/money on, preferred editor/IDE, etc... and in the long run, either one will do the job. Of course, my answer is don't send money to Microsoft, they have plenty.
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.
Building BeanShell on my 17" 1Ghz powerbook is faster than on my sparc ultra 60.
But, forget about speed, you'll love the PowerBook.
I've pretty much migrated all my Java development to it without even noticing... It's just a nice platform.
Pat Niemeyer
Author of Learning Java, O'Reilly & Associates and the BeanShell Java scirpting language.
With the better memory bus in the new machines, I guess that the 1.25/1.33 GHz ALBooks should come close to a 2GHz P4. In other words, they are plenty fast enough for at least medium sized projects (and if you use a reasonably smart development environment, e.g. make, you rarely compile a lot of stuff in one go anyways.
For me, I'm very happy with my machine. It's not the pure performance, but rather the whole package. It is actually a pleasure to just sit there and type away on the keyboard. And I'm using it mostly under X11/Fink, so it is not attribuatable to the OS (although MacOS-X is farly good), it is purely due to the nice materials and reasonably ergonomic design.
Stephan
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!
i work for a large ISP in a team that builds a comprehensive portal that receives over 6 million unique page views in any 24 hour period. it's written in Java and runs in a Java Servlet Container (open-source)). Since Apple came out with the TiBook in 2001 and OS 10.1, my boss and i were the first ones to switch to powerbooks and OS X in the department.
Jump forward in late 2003, i now have a 1.25Ghz 15" powerbook with 1Gig of RAM and 80GB HD, and let me tell you, there is no end to what this thing can do. it will complete this mechanism that goes thru our whole JSP web application tree, converts each .jsp into .java then compiles into java byte code in about the same amount of time the fastest x86 laptops do. tho i dont have precise numbers. might be faster, might be slower.
while i understand your main focus is on raw power, i would urge you to consider productivity as a factor, based on your operating system's stability, security, and features. XP has greatly evolved in many aspects, and any good engineer can deal with just about any OS. With that said, OSX goes the extra mile to make your overall computing experience much more powerful, especially with Panther.
Expose, Fast User switching, XCode, Apple's own implementation of X11 (comes on the panther CD, it's *F A S T*, GIMP loads litteraly in under 5 seconds) so u can run any open-source app you want. Terminal.app for crying out loud. forget cygwin under windows, here you have a true UNIX bash shell. or tcsh. or ksh. it's all there. all the command-line utilities from the Unix and Linux world are all there. the cmd-line can also trigger things to happen in the finder/aqua-world: "open" could open a directory in a find window, or a file in which ever application created it.
let's talk about address book, calendar and mail. You may import all your Yahoo, Mozilla, Netscape contacts into AddressBook.app. Calendar.app lets you subscribe to calendars, accept .ics invitations, publish your own calendar, define multiple coexisting calendars. Safari's bookmarks interface will show u URLs defined in your AddressBook. Mail.app will read information from AddressBook to show email addresses as clickable "People Objects" and add new email addresses to your address book directly from an email you're reading. You can drag any picture from the web or iPhoto, or your desktop to an AddressBook entry, where it lets you zoom the pic in or out, crop, position, pictures associated with contacts show-up in Mail.app when u receive email from them. They also show-up in iChat.app. All those applications are very simple yet VERY powerful and are also well-defined open APIs any software developer can interact with. For example EarthLink lets you sync your Mac OS X AddressBook with their own online address book, which greatly facilitates email whitelisting to work with their highest-level CR-based spam-blocking feature (lower-level spam-blocking is Bayesian-ish filtering based on email content). Mail.app comes with its own adaptive Bayesian spam filtering that becomes smarter and smarter overtime as you "train it". Mine has become *extremely* effective at blocking spam, and i can tell you this is a definite productivity enhancer. Then there is iSync. A true marvel. iSync is also an open API to sync multiple devices over just about any port or conduit. Most PDA-ish devices and Phone manufacturers have made their devices compatible with iSync, and more are coming on the market every day. Your Calendars, Contacts, Bookmarks can all be sync'ed via iSync to any number of devices WITHOUT installing a single piece of software that may have shipped with such devices. this is HUGE. Currently i'm using iSync to sync an iPod (bookmarks, address book, calendar, over FireWire), a Sony Ericsson t610 (over bluetooth, built-in all the Aluminum powerbooks, including mine), my .MAC account (calendar, address book, bookmarks, over HTTP/webdav i think). I could buy a Palm Pilot and just sy
Extraordinary Vacations. Exceptional Prices
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...
Build times for Java are a combination of source code generation, compiling, jar execution and ant scripts.
I have an app I just built on the following machines:
Apple Power Mac G4 867 with JDK.1.4.2 - 18 seconds
Toshiba 1.8Ghz PIV with JDK1.4.2 - 16 seconds
I find both machines fine for running IDEs like IntelliJ 4 and JBuilder X. Your 1.3 G4 should be fine for the next 2-3 years. Java is also actually getting faster as it goes, so even my older hardware feels great 2 years on.
So, I would say that speed should not be the differentiator.
One thing to consider is that new versions of Java are out for Intel - Linux and Windows before Mac. This is an effect of Apple doing their own JDK under licence from Sun. For example JDK1.5 beta is out on Intel, but will probably be 6 months away on Apple. Apple just released JDK1.4.2, once again about 7-8 months behind Sun. You get the same situation on HP-UX and Compaq Alpha.
On the other hand no other OS vendor is as committed to Java as Apple. It is a first class language for Mac development.
James Gosling, Martin Fowler and a lot of people from the company I work for, run their Java on Mac.
Finally, Java, with the Quartz look and feel looks just beautiful on Mac.
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.