rure-go
gohs
rure-go | gohs | |
---|---|---|
2 | 1 | |
247 | 268 | |
- | - | |
3.0 | 4.4 | |
5 months ago | 10 months ago | |
Go | Go | |
The Unlicense | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rure-go
-
Best regexp alternative for Go. Benchmarks. Plots.
rure-go (regex 1.9.3) - uses the Rust regex engine with CGo bindings. The downside is a Rust library dependency that needs to be compiled;
-
Go performance from version 1.2 to 1.18
Totally agreed: almost all users (me/GoAWK included) want performance and don't care nearly as much about simplicity under the hood. Simplicity of implementation is of value for educational purposes, but we could easily have a small, simple 3rd party package for that. Go's regexp package is kinda too complex for a simple educational demonstration and too simple to be fast. :-)
I actually tried BurntSushi's https://github.com/BurntSushi/rure-go (bindings to Rust's regex engine) with GoAWK and it made regex handling 4-5x as fast for many regexes, despite the CGo overhead. However, rure-go (and CGo in general) is a bit painful to build, so I'm not going to use that. Maybe I'll create a branch for speed freaks who want it.
I've also thought of using https://gitlab.com/cznic/ccgo to convert Mawk's fast regex engine to Go source and see how that performs. Maybe on the next rainy day...
gohs
-
Best regexp alternative for Go. Benchmarks. Plots.
gohs (1.2.2 + hs5.4.1) - regex engine designed for high performance. It is implemented as a library that provides a simple C-API. It also requires compilation and linking of third-party dependencies;
What are some alternatives?
ccgo
go-re2 - Drop-in replacement for regexp using re2, for any Go app
regex-benchmark - It's just a simple regex benchmark of different programming languages.
regexp2 - A full-featured regex engine in pure Go based on the .NET engine
hyperscan - High-performance regular expression matching library
go-pcre - Perl Compatible Regular Expression for Go
go - The Go programming language
regexcmp - A tool to compare different regexp libraries in Go
esqueleto - Bare bones, type-safe EDSL for SQL queries on persistent backends.
Sqinn-Go - Golang SQLite without cgo
go-yara - Go bindings for YARA