--- 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");
}
}
}