diff -r 1aec0e1fda86 -r 1cef3924f7a2 progs/catastrophic.java --- a/progs/catastrophic.java Sun Aug 21 18:15:53 2016 +0200 +++ b/progs/catastrophic.java Mon Aug 22 09:12:03 2016 +0200 @@ -7,20 +7,20 @@ //Pattern pattern = Pattern.compile("a?{20}a{20}"); // Run from 5 to 25 characters - for (int length = 5; length < 25; length++) { - Pattern pattern = Pattern.compile("(0*)*A"); + for (int length = 5; length < 30; length++) { + Pattern pattern = Pattern.compile("(a*)*b"); // Build input of specified length String input = ""; - for (int i = 0; i < length; i++) { input += "0"; } + for (int i = 0; i < length; i++) { input += "a"; } // Measure the average duration of two calls... long start = System.nanoTime(); for (int i = 0; i < 2; i++) { pattern.matcher(input).find(); } - System.out.println(input + ": " - + ((System.nanoTime() - start) / 2000000d) - + "ms"); + System.out.println(length + " " + input + ": " + + ((System.nanoTime() - start) / 2000000000d) + + "s"); } } }