| 478 | } |
| 479 | |
| 480 | func Benchmark_largeNestedArrayAccess(b *testing.B) { |
| 481 | type Env struct { |
| 482 | Data [1][1024 * 1024 * 10]byte |
| 483 | } |
| 484 | |
| 485 | program, err := expr.Compile(`Data[0][0] > 0`, expr.Env(Env{})) |
| 486 | require.NoError(b, err) |
| 487 | |
| 488 | env := Env{} |
| 489 | env.Data[0][0] = 1 |
| 490 | |
| 491 | var out any |
| 492 | b.ResetTimer() |
| 493 | for n := 0; n < b.N; n++ { |
| 494 | out, err = vm.Run(program, &env) |
| 495 | } |
| 496 | b.StopTimer() |
| 497 | |
| 498 | require.NoError(b, err) |
| 499 | require.True(b, out.(bool)) |
| 500 | } |
| 501 | |
| 502 | func Benchmark_sort(b *testing.B) { |
| 503 | env := map[string]any{ |