package com.fulmicoton.multiregexp.benchmark; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; public class Benchmark { public static void main(final String[] args) throws Exception { // Using the same test as http://lh3lh3.users.sourceforge.net/reb.shtml final String txttFilePath = args[0]; final String patternFilePath = args[1]; final String txt = new String(Files.readAllBytes(Paths.get(txttFilePath)), StandardCharsets.UTF_8); final List<String> patterns = Files.readAllLines(Paths.get(patternFilePath), StandardCharsets.UTF_8); while (true) { for (final PatternMethods patternMethod: PatternMethods.values()) { System.out.println("---------------------------"); System.out.println(patternMethod.name()); long start = System.currentTimeMillis(); final PatternMethods.PatternMatchingMethod method = patternMethod.make(patterns); long end = System.currentTimeMillis(); System.out.println("build time (ms): " + (end - start)); { start = System.currentTimeMillis(); final int[] patternCounts = method.matchCounts(txt); end = System.currentTimeMillis(); System.out.println("match time (ms): " + (end - start)); for (int patternCount: patternCounts) { System.out.print(patternCount + " "); } System.out.println(); } } } } }