Benchmark for Rust regex crate collects memory unnecessarily, which skews the results in favor of hypescan variant; see this line. It also does not bail after the first match like hyperscan_bench. An ideal solution to mimick Hyperscan behaviour would be to do something like re.find_iter(text).next() instead.