ref: f14bc15334c9a8527544f7f4b1be3a700274e02a
dir: /bench/regex-match.myr/
use std use regex use testr var str var dotstar, hello, world const main = { str = std.sldup("hello world!") str = std.strcat(str, str) str = std.strcat(str, str) str = std.strcat(str, str) str = std.strcat(str, str) str = std.strcat(str, "x") dotstar = std.try(regex.compile(".*")) hello = std.try(regex.compile("hel*o")) world = std.try(regex.compile("wor*l*d!x")) testr.bench([ [.name="matchall", .fn=matchall], [.name="searchhello", .fn=searchhello], [.name="searchworld", .fn=searchworld], ][:]) } const matchall = {ctx match regex.exec(dotstar, str) | `std.Some m: regex.matchfree(m) | `std.None: std.fatal("Didn't match regex\n") ;; } const searchhello = {ctx match regex.search(hello, str) | `std.Some m: regex.matchfree(m) | `std.None: std.fatal("Didn't match regex\n") ;; } const searchworld = {ctx match regex.search(world, str) | `std.Some m: regex.matchfree(m) | `std.None: std.fatal("Didn't match regex\n") ;; }