Easy to Integrate
HyperScan has been designed to be as easy as possible to integrate into an application.
A Software Library
HyperScan is a a single library with a rich C API, making it straightforward to integrate into existing applications without the need to manage additional processes or configuration files.
- The compilation of patterns into a HyperScan database is done ahead of time, and support for database serialization and cross-compilation means that this can be done on a different host, even on a different platform.
- The runtime matching API is synchronous, with matches delivered to the application via callbacks. This allows for far simpler integration than the asynchronous model used by many hardware accelerators, and provides greater control over matching behaviour.
- HyperScan does not impose a threading or process model: instead, it provides the primitives necessary to support concurrent contexts, and leaves control of how that concurrency is managed to the application.
The regular expressions accepted by HyperScan conform to a large subset of the the industry standard Perl-compatible Regular Expressions (PCRE) syntax. Some constructs, such as the use of back-references, are unsupported due to their incompatibility with efficient streaming operation, but most PCRE behaviour is implemented and available for use.
Wide Platform Support
HyperScan has been ported to a variety of different platforms and provides complete functionality across all of them. Each port makes aggressive use of the unique features available on that processor, in order to maximise performance. This allows a vendor to deploy a single pattern-matching engine across an entire range of devices, from small consumer devices to high-end appliances for the enterprise.