Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here

hyperscan

High-performance regular expression matching library

Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402 (1 ratings)
Rated 5.0 out of 5
Subscribe to updates I use hyperscan


Statistics on hyperscan

Number of watchers on Github 1035
Number of open issues 8
Average time to close an issue 13 days
Main language C++
Average time to merge a PR 23 days
Open pull requests 4+
Closed pull requests 9+
Last commit over 1 year ago
Repo Created about 4 years ago
Repo Last Updated over 1 year ago
Size 5.28 MB
Homepage https://www.hyper...
Organization / Authorintel
Latest Releasev4.7.0
Contributors4
Page Updated
Do you use hyperscan? Leave a review!
View open issues (8)
View hyperscan activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating hyperscan for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

Hyperscan

Hyperscan is a high-performance multiple regex matching library. It follows the regular expression syntax of the commonly-used libpcre library, but is a standalone library with its own C API.

Hyperscan uses hybrid automata techniques to allow simultaneous matching of large numbers (up to tens of thousands) of regular expressions and for the matching of regular expressions across streams of data.

Hyperscan is typically used in a DPI library stack.

Documentation

Information on building the Hyperscan library and using its API is available in the Developer Reference Guide.

License

Hyperscan is licensed under the BSD License. See the LICENSE file in the project repository.

Versioning

The master branch on Github will always contain the most recent release of Hyperscan. Each version released to master goes through QA and testing before it is released; if you're a user, rather than a developer, this is the version you should be using.

Further development towards the next release takes place on the develop branch.

Get Involved

The official homepage for Hyperscan is at www.hyperscan.io.

If you have questions or comments, we encourage you to join the mailing list. Bugs can be filed by sending email to the list, or by creating an issue on Github.

If you wish to contact the Hyperscan team at Intel directly, without posting publicly to the mailing list, send email to hyperscan@intel.com.

hyperscan open issues Ask a question     (View All Issues)
  • about 3 years Build failure with Boost 1.62.0
  • about 3 years spurious executable permissions?
  • about 3 years add field error_type (enum) to struct hs_compile_error
  • about 3 years hs_compile_ext_multi fails in sanitizer
  • over 3 years hyper scan library crash
  • over 3 years VS 2015 build issues
hyperscan open pull requests (View All Pulls)
  • deserialization: check whole input and add test
  • simplegrep: open file in binary mode ("rb")
  • MinGW compatibility
  • Fix darwin with gcc
hyperscan list of languages used
hyperscan latest release notes
v4.7.0 Hyperscan 4.7.0

[4.7.0] 2018-01-24

  • Introduced hscollider pattern testing tool, for validating Hyperscan match behaviour against PCRE.
  • Introduced hscheck pattern compilation tool.
  • Introduced hsdump development tool for producing information about Hyperscan pattern compilation.
  • New API feature: extended approximate matching support for Hamming distance.
  • Bugfix for issue #69: Force C++ linkage in Xcode.
  • Bugfix for issue #73: More documentation for hs_close_stream().
  • Bugfix for issue #78: Fix for fat runtime initialisation when used as a shared library.
v4.6.0 Hyperscan 4.6.0

[4.6.0] 2017-09-22

  • New API feature: stream state compression. This allows the user to compress and restore state for streams to reduce memory usage.
  • Many improvements to literal matching performance, including more support for Intel(R) Advanced Vector Extensions 512 (Intel(R) AVX-512).
  • Compile time improvements, mainly reducing compiler memory allocation. Also results in reduced compile time for some pattern sets.
  • Bugfix for issue #62: fix error building Hyperscan using older versions of Boost.
  • Small updates to fix warnings identified by Coverity.
v4.5.2 Hyperscan 4.5.2

[4.5.2] 2017-07-26

  • Bugfix for issue #57: Treat characters between \Q..\E as codepoints in UTF8 mode.
  • Bugfix for issue #60: Use a portable flag for mktemp for fat runtime builds.
  • Bugfix for fat runtime builds on AVX-512 capable machines with Hyperscan's AVX-512 support disabled.
Other projects in C++