Matt RaibleMatt Raible is a Java Champion and Developer Advocate at Okta. developer.okta.com

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

New Laptop

When I saw Russell's Why I Might Switch Back... post a couple of weeks ago, I found myself wanting to write a response. My response was going to be I completely agree and I was going to bitch about how slow my PowerBook is (once again). Then, later that day, I was doing something with iPhoto and I thought - I really do like OS X. It's the Mac hardware that I don't like. And it's not the look of the hardware (I love that), it's the fricken speed!! Most PowerBook users I know don't switch b/w computers a whole lot - whereas I spend 50% of my time on a fast Windows desktop. When I go from something that's so fast to something so slow, it's quite painful.

Last week, I started working with a new client - developing an application with Spring, Hibernate, WebLogic and Eclipse. Installing WebLogic on OS X was pretty easy, thanks to this article. Even remote debugging with Eclipse was pretty easy to setup. However, when I started running WebLogic locally and trying to debug it with Eclipse, it was extremely frustrating. I've never seen the spinning beach ball so much in one day. When other developers would watch me work, it was embarrassing how slow my computer was. And it's not like I had a whole lot running: Mail, Safari, Eclipse, WebLogic and iTerm.

Over the past couple of months, I've started debating if my next laptop should be a PC. It's not like I hate the Mac or don't like my PowerBook - but Java development on a Mac is far slower than on a PC equivalent. The problem is that I really like the PowerBook's form-factor. I'm so comfortable using the keyboard, right-clicking with the Control key, and all that jazz - that I'd probably have a hard time adjusting. I realize that a lot of my PowerBook bitching might seem unfair - as I'm often comparing a Desktop to a Laptop.

What I'd really like is two laptops: a PowerBook for doing all non-Java stuff and a PC for doing Java stuff.

My dreams came last Friday when my client handed me a brand new Dell Latitude D610. It's got Windows 2000, a 1.6 GHz CPU and 1 GB of RAM. To be honest, I expected it'd have a lot bigger processor. However, the fact that it doesn't makes it easier for me to show you how fricken slow my PowerBook is.

I used AppFuse for this test and ran ant clean war 3 times on each. I had ANT_OPTS set to -Xmx256m, JAVA_OPTS set to -Xmx512m and I'm using the latest 1.4.2 JDK available for each respective platform. It's possible my PowerBook suffers from some OS Rot, but it's still amazing how much faster the Windows laptop is.

  • PowerBook: 58.3 seconds
  • Latitude: 17.3 seconds

Holy ass-kicking batman!

My PowerBook has a 1.33 GHz CPU and 1 GB of RAM. It'd be interesting to do the see the numbers for a PowerBook with a 1.67 GHz processor. Here's to hoping OS X with a 1.6 GHz Intel processor can keep up with Windows for Java development.

Posted in Java at Oct 02 2005, 11:25:17 AM MDT 25 Comments
Comments:

Matt, I am long time Mac user and I understand your position. I feel the same about getting another laptop. I really want an Intel based Mac but they won't be available until Spring 2006 at the earlest. I love OS X to much to give it up though so I will probably be buying a Powerbook at the end of the month instead of a PC laptop. :) What I really should do is replace my PC desktop with a G5. I think you would be very happy with a G5 desktop in terms of speed unfortunatly it looks like you are the road most of the time.

Really what Apple needs to do have done is figured out a way to get a faster bus speed into the Powerbooks. That is the biggest difference between that Dell and your Powerbook. The Dell's bus speed has got to be at _least_ twice as fast as the 167Mhz on the PB has. I don't even want a G5 in the PB if they just raise the bus speed I will be happy!

Posted by Kurt Wiersma on October 02, 2005 at 01:13 PM MDT #

Hi Matt,

In this day and age of ubiquitous WiFi and broadband (and even wireless broadband), would it be feasible to use your PowerBook simply as a remote display for controlling your Windows desktop (or even better, a dual-G5 PowerMac) back at the ranch?

Or aren't we quite there yet?

Posted by kelzer on October 02, 2005 at 01:21 PM MDT #

I've made the exact same decisions about hardware 2 months ago. I'm doing my email and surfing on my PowerBook and my Latitude D610 for development. Classic! Next thing, get a G5 at home and use it as a server and sync everything up using Subversion, so that from time to time I can use TextMate to do simple development on the PowerBook after all.

Posted by Mathias Bogaert on October 02, 2005 at 03:37 PM MDT #

I agree with your speed issues, but I've grown quite accustomed to my iBook. If for no other reason, due to the amount of time I spend fixing my family's Windows machines. I'm more than willing to sacrifice speed for never having a problem with my laptop. That having been said, I imagine an Intel-powered Powerbook is going to be a graduation present to myself when they're released next year.

Posted by PJ Hyett on October 02, 2005 at 03:45 PM MDT #

The speed problems will all be solved next year after the Intel switch. But IMO I'd rather use a slow Mac than Dell hardware with Windows. I just had to try 4 times to install from an original Windows XP CD to install the OS on my Dull laptop. Windows looks and behaves just like legacy software. If Billyboy had to pay me for the hours I've spent helping others with their Windows problems, he'd be the poorest man on earth.

Posted by Lars Fischer on October 02, 2005 at 04:02 PM MDT #

Hi, when i ran the same target (ant clean war) on appfuse, it took 33 seconds after three runs on my 1.67GHz Powerbook.

Posted by Mikael Berglund on October 02, 2005 at 04:06 PM MDT #

FYI, On my Dell D610 with 2.0Ghz, 1.5GB Ram, same Xmx configs: 12s,12s,11s. I love this laptop.

Posted by Chris Blackburn on October 02, 2005 at 07:49 PM MDT #

Kelzer - we're definitely not there yet. A lot of my clients have large databases that aren't reproduceable locally. Therefore, if I have the kick-ass machine at home, there's going to be quite a bit of latency getting back over the network to the client's database. Furthermore, while Remote Desktop Connection (and Apple's equivalent) are pretty good - they're definitely not snappy.

Mikael and Chris - thanks for the numbers. That's quite an improvement with the 1.67 GHz PowerBook. As for the tricked-out Dell, that's *very* impressive.

Posted by Matt Raible on October 02, 2005 at 07:59 PM MDT #

Matt,

After I saw the title of this entry I didn't expect a Latitude D610 as a good machine for heavy JEE development even after seeing your build times. From Dell, I'd choose the Precision mobile Workstations M70 or M20, but thinking mid term I'd choose something that includes AMD64 technology, like the Acer Ferrari 4005, and since you are going to be quite busy I don't see any affordability issues for you ;-)

Posted by Rogelio Robles on October 02, 2005 at 10:01 PM MDT #

Rogelio - I didn't choose the Latitude, I got it for free from my client. I agree that there's probably <em>much</em> better machines for mobile Java EE development. I've used some AMD machines in the past (never owned one) and I've always been <em>very</em> impressed with their speed. The Ferrari looks pretty nice - and <em>much</em> cheaper than a new PowerBook.

Posted by Matt Raible on October 02, 2005 at 10:13 PM MDT #

I think we're all forgetting you can have the best of both worlds with Linux on a D610, as I'm currently running. You may not think the Linux desktop is quite there yet - and it's not for non-techies - but there's no reason this group of geeks can't do it..

Posted by Ryan Daigle on October 03, 2005 at 06:43 AM MDT #

I'll tell you something that may suprise you... it suprised me.

http://lists.terrasoftsolutions.com/pipermail/yellowdog-announce/2002-November/000008.html

So one of my Mac's is now Yellow Dog... it's MUCH faster.

.V

Posted by Vic on October 03, 2005 at 07:09 AM MDT #

ditto to Ryan Daigle's comment. I'm using Ubuntu (5.04) on my Inspiron 9200 (1.8Ghz, 2GB) and it's pretty nice for J2EE development. I use Eclipse 3.01 and run Weblogic 8.1.3 locally. I have it running off our wireless network too which makes doing code reviews nice as I can just lug this 17" beast into a conference room and face my executioners...err I mean my coworkers ;) I used to be a hardcore Windows Java developer until I was forced into using Linux at my current job. I don't think I'd ever go back to Windows for development now, Linux is just too productive for me.

Posted by Ben C on October 03, 2005 at 07:23 AM MDT #

You should try upgrading your RAM: http://crazybob.org/2005/10/powerbook-performance.html It did wonders for me. It could easily explain the performance numbers you're seeing (i.e. a lot of swapping out to disk while you're trying to access the disk to build your war).

Posted by Bob Lee on October 03, 2005 at 08:59 AM MDT #

More RAM will probably help some; I think 1GB is a bare minimum for the kind of work Matt's talking about here. 2GB on a high-end powerbook would certainly be nice (not to mention expensive). I've gotten all of the above plus a local Oracle installation running on my PB12 with 1.25GB (i.e., max) RAM, but it's not happy about it. I can't throw more RAM at mine; even if I could, it would just be treating a symptom. The bus speed comments above are right on -- and probably futile. And I will certainly be giving YellowDog a look after reading Vic's comment.

Posted by David Rupp on October 03, 2005 at 10:02 AM MDT #

Try using the 1.5 jdk on osx. It should bring it down to only half as slow. ;o)

Posted by pmorelli on October 03, 2005 at 11:16 AM MDT #

I'll ditto Ben C's comments. I'm also running Ubuntu 5.04 with Eclipse 3.1, Java 5, Tomcat, Postgres, etc. on an Athlon 2000+ w/ 512MB. I'd term the performance as actually pretty good - not annoying. As to Linux, I'd certainly not go back to Windows. I've got an old 800Mhz P-III Compaq Presario w/ 392MB that I run the same software on, which works, but not without pain. On the Mac thing, I wonder if some of the issue isn't OS-X's different kernel architecture - I'm interested in seeing how OSX on Intel stacks up to Linux/Win on similiar hardware. I always had the impressing, perhaps wrongly, that despite the slower clock speeds that Power Macs were supposed to be competitive performance wise.

Posted by Paul W on October 03, 2005 at 05:07 PM MDT #

My typical day at work is spent running jdk 1.3.1 -classic and remote debugging a weblogic 7sp4 instance is one of the most painful experiences you can imagine.

Posted by Robert Nicholson on October 03, 2005 at 07:44 PM MDT #

I've come home and added -Xmx 1024m to my Info.plist file for IDEA 3506 and it's still complaining that it's out of memory when trying to check out with CVS.

Posted by Robert Nicholson on October 03, 2005 at 09:11 PM MDT #

Rogelio, I have an M70 which absolutely crushes my 1.25GHz PowerBook in terms of performance but it's a bit of brick. Even with the huge performance difference I find myself carrying my PowerBook with me a lot more than the M70 since I like form-factor so much more, but when it comes time to do some serious bit-blasting I go for the Dell. =)

Posted by Ryan on October 05, 2005 at 07:56 AM MDT #

Oh, and I meant to add, by the time the Intel PowerBooks come out they'll probably be available with dual-core 2.0+ GHz processors so I don't think speed is going to be an issue.

Posted by Ryan on October 05, 2005 at 07:58 AM MDT #

Matt, be careful on this slippery slope. I've thoroughly enjoyed providing support for my wife's Powerbook (old Lombard - no support needed other than power cords in what - 5 years now?). I have my personal Win2k laptop (HP- AMD) that is equally sturdy hardware-wise. However, I have a pretty constant maintenance workload because of the OS. What is the value of a lost day of your productivity - an entire day? My dual-boot experience has not been good - win modem, power/fan control etc. I would never advocate deving on a slow machine, but sometimes slow build times can motive one to make changes that have wide benefit. FYI - My work provided laptop is a standard business issue T42 Thinkpad (Win2k, 1.7 ghz, Pent-M, 1 gig ram). My third AppFuse build time was 12 seconds w/ the same Java/Ant opts as you reported.

Posted by D. Jung on October 05, 2005 at 01:08 PM MDT #

Believe it or not, I just booted from my iPod and ran "Repair Disk" from Disk Utility. Upon reboot, I can run "ant clean war" in 27 seconds (consistently). The Dell is a couple of seconds faster too (but not 2x as fast!) - propably because I removed XDoclet's generation of web.xml.

I tried Disk Warrior too, but it says my disc is too corrupted to run. ;-)

Posted by Matt Raible on October 05, 2005 at 06:22 PM MDT #

I'm not sure you're making a fair comparison here, calling a PowerBook slow because it can't run ant tasks as quickly. Remember that Apple's Java implementation in OS X is slow. Really slow. Really really slow. A more reasonable comparison might be, say, a C compiler, or some Unix utilities. At the core OS level, Apple's made some very tough decisions about where to optimize.

Posted by Jim Puls on October 06, 2005 at 02:44 PM MDT #

I see you are using Eclipse for web development. Have you seen the latest NetBeans IDE 4.1 and 5.0 Beta? They have really made it easy for web and enterprise development. And, there's a Weblogic plug-in for it too now. Let's just say I don't miss editing deployment descriptors. You don't even have to touch deployment descriptors or xdoclet when refactoring either. It does all for you. There's a couple really good tutorials at http://www.netbeans.org/kb/41/ I really liked this end to end J2EE <-> J2ME tutorial by Brian Leonard. http://www.netbeans.org/kb/41/demo-end2end.html They also have an Eclipse project importer to help with the transition.

Posted by nuetron on October 10, 2005 at 11:02 PM MDT #

Post a Comment:
  • HTML Syntax: Allowed