mirror of
https://github.com/open-policy-agent/opa.git
synced 2026-08-13 03:42:35 -06:00
c44f3d714c
Unlike the generic Walk implementations, they don't necessitate allocating the visitor itself from heap. This deprecates ast.Visitor, ast.BeforeAndAfterVisitor, ast.Walk, and ast.WalkBeforeAndAfter. Benchmarks changed: name old time/op new time/op delta PartialEval/1-16 6.41µs ± 1% 6.35µs ± 1% -1.01% (p=0.001 n=10+10) PartialEval/10-16 6.47µs ± 1% 6.37µs ± 1% -1.48% (p=0.000 n=10+10) PartialEval/100-16 6.81µs ± 1% 6.78µs ± 1% -0.44% (p=0.041 n=9+10) PartialEval/1000-16 6.64µs ± 2% 6.57µs ± 2% -1.02% (p=0.037 n=10+10) PartialEvalCompile/1-16 3.08ms ± 0% 2.99ms ± 0% -2.73% (p=0.000 n=8+9) PartialEvalCompile/10-16 4.17ms ± 0% 3.97ms ± 1% -4.67% (p=0.000 n=9+9) PartialEvalCompile/100-16 25.1ms ± 1% 22.9ms ± 1% -8.67% (p=0.000 n=9+10) PartialEvalCompile/1000-16 1.27s ± 2% 1.20s ± 1% -5.37% (p=0.000 n=10+9) InliningFullScan/1000-16 5.24ms ± 1% 4.83ms ± 1% -7.75% (p=0.000 n=10+10) InliningFullScan/10000-16 55.0ms ± 0% 51.0ms ± 1% -7.25% (p=0.000 n=9+10) InliningFullScan/300000-16 1.59s ± 1% 1.48s ± 1% -6.63% (p=0.000 n=9+9) name old alloc/op new alloc/op delta Concurrency1-16 100MB ± 0% 100MB ± 0% -0.05% (p=0.000 n=10+10) Concurrency2-16 100MB ± 0% 100MB ± 0% -0.05% (p=0.000 n=10+10) Concurrency4-16 100MB ± 0% 100MB ± 0% -0.05% (p=0.000 n=9+10) Concurrency8-16 100MB ± 0% 100MB ± 0% -0.05% (p=0.000 n=10+10) Concurrency4Readers1Writer-16 100MB ± 0% 100MB ± 0% -0.05% (p=0.000 n=10+10) Concurrency8Writers-16 100MB ± 0% 100MB ± 0% -0.05% (p=0.000 n=10+10) PartialEvalCompile/1-16 1.31MB ± 0% 1.29MB ± 0% -1.10% (p=0.000 n=8+9) PartialEvalCompile/10-16 1.74MB ± 0% 1.70MB ± 0% -2.42% (p=0.000 n=9+10) PartialEvalCompile/100-16 8.90MB ± 0% 8.58MB ± 0% -3.58% (p=0.000 n=10+9) PartialEvalCompile/1000-16 370MB ± 0% 366MB ± 0% -0.84% (p=0.000 n=9+9) Walk/100-16 361kB ± 0% 360kB ± 0% -0.32% (p=0.000 n=10+10) Walk/1000-16 413kB ± 0% 412kB ± 0% -0.28% (p=0.000 n=10+10) Walk/2000-16 471kB ± 0% 470kB ± 0% -0.24% (p=0.000 n=10+10) Walk/3000-16 527kB ± 0% 526kB ± 0% -0.22% (p=0.000 n=9+10) InliningFullScan/1000-16 2.77MB ± 0% 2.68MB ± 0% -3.18% (p=0.000 n=9+10) InliningFullScan/10000-16 28.2MB ± 0% 27.4MB ± 0% -3.12% (p=0.000 n=10+10) InliningFullScan/300000-16 852MB ± 0% 825MB ± 0% -3.10% (p=0.000 n=10+9) Signed-off-by: Teemu Koponen <koponen@styra.com>