| 370 | } |
| 371 | |
| 372 | func Benchmark_callField(b *testing.B) { |
| 373 | program, err := expr.Compile(`Fn()`, expr.Env(CallEnv{})) |
| 374 | require.NoError(b, err) |
| 375 | |
| 376 | env := CallEnv{ |
| 377 | Fn: func() bool { |
| 378 | return true |
| 379 | }, |
| 380 | } |
| 381 | |
| 382 | var out any |
| 383 | b.ResetTimer() |
| 384 | for n := 0; n < b.N; n++ { |
| 385 | out, err = vm.Run(program, env) |
| 386 | } |
| 387 | b.StopTimer() |
| 388 | |
| 389 | require.NoError(b, err) |
| 390 | require.True(b, out.(bool)) |
| 391 | } |
| 392 | |
| 393 | func Benchmark_callFast(b *testing.B) { |
| 394 | program, err := expr.Compile(`FnFast()`, expr.Env(CallEnv{})) |