Tom Copeland's Recent Posts

RSS Feeds

« RubyForge on PostgreSQL 8.2 | Main | Subversion statistics on RubyForge »

PMD 3.9: Three times faster!

PMD 3.9 is out (download/changelog)!   This release should be a good one.  Here's what I like about it most:

pmd-3.8/bin/ $ time ./pmd.sh /usr/local/java/src/java/ text basic
[... lots of output ...]
real    3m25.2s
pmd-3.9/bin/ $ time ./pmd.sh /usr/local/java/src/java/ text basic
[... lots of output ...]
real    1m0.350s  // <<<<<<<<<<< WHOA

That's right, PMD 3.9 is more than three times faster than 3.8!  This is due to optimization work done by Xavier Le Vourch.  He added multithreading support, so if your machine has multiple CPUs (or is dual core) PMD will use as much horsepower as it can get.  Xavier also added dynamic XPath rule optimization, so that if your XPath rule only checks, say, ASTLiteral nodes, PMD will use ASM to generate a visitor on the fly that only visits those nodes.  And just for good measure he rewrote a couple of XPath rules in Java, too. 

PMD 3.9 also comes with eight new rules, a better data flow analysis layer (no more lockups!) thanks to Sven Jacob, an experimental type resolution facility thanks to Allan Caplan, rule test reorganizations thanks to Wouter Zelle, and a slew of other bugfixes and enhancements.  Enjoy!

For more information on PMD, check out the site or get the PMD book!

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d83451d3c069e200e5505cd6bb8833

Listed below are links to weblogs that reference PMD 3.9: Three times faster!:

» PMD 3.9: Three times faster! from PsychicProgrammer.com
PMD 3.9 is out (download/changelog)! This release should be a good one. Here's what I like about it most: pmd-3.8/bin/ $ time ./pmd.sh /usr/local/java/src/java/ text basic[... lots of output ...]real 3m25.2spmd-3.9/bin/ $ time ./pmd.sh /usr/local/java/... [Read More]

Comments

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been saved. Comments are moderated and will not appear until approved by the author. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

Comments are moderated, and will not appear until the author has approved them.