INNER CODE UNIT · Go
Benchmark_expr_reuseVm
expr-lang/expr · bench_test.go:54
func Benchmark_expr_reuseVm(b *testing.B) {
params := make(map[string]any)
params["Origin"] = "MOW"
params["Country"] = "RU"
params["Adults"] = 1
params["Value"] = 100
program, err := expr.Compile(`(Origin == "MOW" || Country == "RU") && (Value >= 100 || Adults == 1)`, expr.Env(params))
require.NoError(b, err)
var out any
v := vm.VM{}
b.ResetTimer()
for n := 0; n < b.N; n++ {
out, err = v.Run(program, params)
}
b.StopTimer()