Regular Expression Benchmark Utility
A benchmark suite comparing FIRE/J's speed and compatibility against five other Java regex engines.
Regular Expression Benchmark Utility suite is an application written 100% in Java (external link, opens in a new tab). It was implemented to test FIRE execution speed and compatibility with other Regular Expressions Engines in Java. The architecture is illustrated in the figure below. Current version is 0.7.
Supported engines
The benchmark suite has a modular design in order to easily add new regular expression engines for testing. For the time being it supports the following libraries:
- SUN1.4 — Java Sun Regular Expression library (java.util.regex) 1.4.x, java.sun.com (external link, opens in a new tab)
- AUTOMATON — Automaton Regular Expression library (dk.brics.automaton), brics.dk (link no longer available)
- JAKARTA-REGEXP — Jakarta Regular Expression library, jakarta.apache.org (external link, opens in a new tab)
- JAKARTA-ORO — Jakarta ORO PERL5 Compatible Regular Expression Library, jakarta.apache.org (external link, opens in a new tab)
- GNU-REGEXP — GNU Regular Expressions Library, cacas.org (external link, opens in a new tab)
This distribution provides the binaries for these libraries in the directory lib.
Tests
The regular expression library supports three types of tests.
- Iteration (Speed) — Execute N times, full-length match for a specific set of REGEX and DATA. Returns the execution time in msecs.
- Compatibility Benchmark — Performs a full-length match for a specific set of REGEX and DATA. Returns true or false.
- Compile Iteration (Speed) — Performs for N iterations, compile speed test for a specific set of REGEX and DATA. Returns execution time in msecs.
Execution
java org.benchmark.main.BenchmarkMain <output-method> <xml-file> [output-file] java org.benchmark.main.BenchmarkMain XSLT <xml-file> <xslt-file> [output-file]
Architecture
Downloads
- fire-benchmark.zip~250Kb, includes binaries for all supported engines
- ChangeLog
- plugin.propertiesExample plugin configuration
- example-info.textExample output, info format
- example-text.textExample output, text format
- example-latex.ps.gzExample output, LaTeX rendered to PostScript
These are the original files, kept as they were published. Most are decades old and are here as a record rather than as working software.