http://gwt-code-reviews.appspot.com/1382801/diff/5008/dev/core/src/com/google/gwt/dev/resource/impl/DefaultFilters.java File dev/core/src/com/google/gwt/dev/resource/impl/DefaultFilters.java (right):
http://gwt-code-reviews.appspot.com/1382801/diff/5008/dev/core/src/com/google/gwt/dev/resource/impl/DefaultFilters.java#newcode104 dev/core/src/com/google/gwt/dev/resource/impl/DefaultFilters.java:104: private static boolean isDefaultExcluded(String path) { Regex is slower. When DefaultFiltersTest.testNonEmptyFilters() runs 10000 times, it requires 27500ms with regex and 11000ms with simple string checks. http://gwt-code-reviews.appspot.com/1382801/diff/5008/dev/core/src/com/google/gwt/dev/resource/impl/ZipFileResource.java File dev/core/src/com/google/gwt/dev/resource/impl/ZipFileResource.java (right): http://gwt-code-reviews.appspot.com/1382801/diff/5008/dev/core/src/com/google/gwt/dev/resource/impl/ZipFileResource.java#newcode37 dev/core/src/com/google/gwt/dev/resource/impl/ZipFileResource.java:37: this.pathParts = path.split("/"); Yes, pre-compiling RE gives some gain. If we speak about absolute performance, it is possible to optimize this specific case of splitting by "/" even more, with manual implementation. reCompile: 15874.627362 rePreComp: 13843.915078 manual: 3683.38462 for following performance test. public void test_perf() throws Exception { int count = 10000000; String path = "a/bb/ccc/dddd/eeeee/ffffff"; { long start = System.nanoTime(); for (int i = 0; i < count; i++) { Strings.splitPath0(path); } System.out.println("reCompile: " + (System.nanoTime() - start) / 1000000.0); } { long start = System.nanoTime(); for (int i = 0; i < count; i++) { Strings.splitPath(path); } System.out.println("rePreComp: " + (System.nanoTime() - start) / 1000000.0); } { long start = System.nanoTime(); for (int i = 0; i < count; i++) { Strings.splitPath2(path); } System.out.println("manual: " + (System.nanoTime() - start) / 1000000.0); } } http://gwt-code-reviews.appspot.com/1382801/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors