gohs

module
v1.2.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 20, 2023 License: Apache-2.0, MIT

README

gohs Continuous integration Go Report Card codecov Apache MIT

Golang binding for Intel's HyperScan regex matching library: hyperscan.io

Hyperscan Go Reference

Hyperscan is a software regular expression matching engine designed with high performance and flexibility in mind. It is implemented as a library that exposes a straightforward C API.

Build

gohs does not enable the latest api of Hyperscan v5.4 by default, if you want to use it please pass build tags hyperscan_v54.

go get -u -tags hyperscan_v54 github.com/flier/gohs/hyperscan

gohs will use Hyperscan v5 API by default, you can also build for Hyperscan v4 with hyperscan_v4 tag.

go get -u -tags hyperscan_v4 github.com/flier/gohs/hyperscan

Chimera Go Reference

Chimera is a software regular expression matching engine that is a hybrid of Hyperscan and PCRE. The design goals of Chimera are to fully support PCRE syntax as well as to take advantage of the high performance nature of Hyperscan.

Build

It is recommended to compile and link Chimera using static libraries.

$ mkdir build && cd build
$ cmake .. -G Ninja -DBUILD_STATIC_LIBS=on
$ ninja && ninja install
$ go get -u -tags chimera github.com/flier/gohs/hyperscan
Note

You need to download the PCRE library source code to build Chimera, see Chimera Requirements for more details

License

This project is licensed under either of Apache License (LICENSE-APACHE) or MIT license (LICENSE-MIT) at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Futures by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Directories

Path Synopsis
examples
pcapscan
* Hyperscan example program 2: pcapscan * * This example is a very simple packet scanning benchmark.
* Hyperscan example program 2: pcapscan * * This example is a very simple packet scanning benchmark.
simplegrep
* Hyperscan example program 1: simplegrep * * This is a simple example of Hyperscan's most basic functionality: it will * search a given input file for a pattern supplied as a command-line argument.
* Hyperscan example program 1: simplegrep * * This is a simple example of Hyperscan's most basic functionality: it will * search a given input file for a pattern supplied as a command-line argument.
Package hyperscan is the Golang binding for Intel's HyperScan regex matching library: [hyperscan.io](https://www.hyperscan.io/)
Package hyperscan is the Golang binding for Intel's HyperScan regex matching library: [hyperscan.io](https://www.hyperscan.io/)
internal
hs

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL