What's Changed
The Regex class in the .NET uses the .NET regular expression engine. This engine is a good general-purpose engine, but it is not the fastest. If we need the best possible performance, you can use a faster regular expression engine, such as the PCRE library.
The PCRE library is a faster regular expression engine that is available for free.
Since v2.0.0 Grok.Net uses the PCRE.NET package. PCRE.NET is a .NET wrapper for the PCRE2 library. So the following systems are supported:
Windows x64
Windows x86
Linux x64
macOS x64
Benchmarks
methods without "_Old" use the PCRE library
Methods with "_Old" in the name (Average):
Mean Execution Time (Average): 3,741,186.0 ns (approximately 3.7 milliseconds)
Allocated Memory (Average): 231,999.0 B (approximately 226.17 KB)
PCRE Methods without "_Old" in the name (Average):
Mean Execution Time (Average): 290,362.5 ns (approximately 0.2903625 milliseconds)
Allocated Memory (Average): 40,890.43 B (approximately 39.871 KB)
Conclusion
As we can see, methods without "_Old" in their names have significantly lower mean execution times and allocated memory compared to methods with "_Old" in their names. This suggests that the methods without "_Old" may perform better in terms of execution time and memory allocation.
Full Changelog: v1.2.0...v2.0.0