I don't have time to try it out right now, but here are a few things.
http://gwt-code-reviews.appspot.com/1749803/diff/9001/dev/core/src/com/google/gwt/dev/javac/ProgressLogger.java File dev/core/src/com/google/gwt/dev/javac/ProgressLogger.java (right): http://gwt-code-reviews.appspot.com/1749803/diff/9001/dev/core/src/com/google/gwt/dev/javac/ProgressLogger.java#newcode31 dev/core/src/com/google/gwt/dev/javac/ProgressLogger.java:31: static interface NanoSource { Nit: "static" isn't needed; all interfaces are static. Also, since the class isn't public, you don't need "public" on the methods either. http://gwt-code-reviews.appspot.com/1749803/diff/9001/dev/core/src/com/google/gwt/dev/javac/ProgressLogger.java#newcode41 dev/core/src/com/google/gwt/dev/javac/ProgressLogger.java:41: // low, early estimates will be wildly inaccurate. Should say units: "where 1.0 is 100% complete" http://gwt-code-reviews.appspot.com/1749803/diff/9001/dev/core/src/com/google/gwt/dev/javac/ProgressLogger.java#newcode112 dev/core/src/com/google/gwt/dev/javac/ProgressLogger.java:112: if (logger.isLoggable(logLevel)) { style: generally it's better to return early and avoid long nested blocks. if (!logger.isLoggable(logLevel)) { return; } Similarly on 121. http://gwt-code-reviews.appspot.com/1749803/diff/9001/dev/core/src/com/google/gwt/dev/javac/ProgressLogger.java#newcode121 dev/core/src/com/google/gwt/dev/javac/ProgressLogger.java:121: if (currentPercentage >= nextPercentage || progressUnits == maxProgressUnits) { For builds that compile quickly, maybe we don't want to print 20 progress reports? Maybe we should wait until 5 seconds have passed before we start showing progress. http://gwt-code-reviews.appspot.com/1749803/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors