You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I ran into this while debugging an other mystery. Master at the time of writing is 923f51b. I tested this on Apple M1 hardware.
It appears that one of the recent changes has had a considerable performance impact, it is reproducible with the cpp benchmarks.
$ for i in v0.20.0 master; do git checkout $i; go build -o jsonnet-$i ./cmd/jsonnet; done
$ hyperfine --warmup 3 --parameter-list binary './jsonnet-v0.20.0,./jsonnet-master' '{binary} cpp-jsonnet/benchmarks/bench.07.jsonnet --max-stack 1000000'
Benchmark #1: ./jsonnet-v0.20.0 cpp-jsonnet/benchmarks/bench.07.jsonnet --max-stack 1000000
Time (mean ± σ): 201.7 ms ± 3.8 ms [User: 169.0 ms, System: 46.8 ms]
Range (min … max): 196.3 ms … 208.5 ms 13 runs
Benchmark #2: ./jsonnet-master cpp-jsonnet/benchmarks/bench.07.jsonnet --max-stack 1000000
Time (mean ± σ): 290.9 ms ± 2.3 ms [User: 239.1 ms, System: 71.4 ms]
Range (min … max): 287.6 ms … 294.1 ms 10 runs
Summary
'./jsonnet-v0.20.0 cpp-jsonnet/benchmarks/bench.07.jsonnet --max-stack 1000000' ran
1.44 ± 0.03 times faster than './jsonnet-master cpp-jsonnet/benchmarks/bench.07.jsonnet --max-stack 1000000'
Profiling:
$ for i in v0.20.0 master; do JSONNET_CPU_PROFILE=cpu-$i.pprof ./jsonnet-$i cpp-jsonnet/benchmarks/bench.07.jsonnet --max-stack 1000000; go tool pprof -svg -output cpu-$i.pprof.svg cpu-$i.pprof; done
These are short-lived runs, so I'm not sure how accurate the profiles are.
I ran into this while debugging an other mystery. Master at the time of writing is 923f51b. I tested this on Apple M1 hardware.
It appears that one of the recent changes has had a considerable performance impact, it is reproducible with the cpp benchmarks.
Profiling:
These are short-lived runs, so I'm not sure how accurate the profiles are.
I also noticed during a larger build that jsonnet-master was using 3.5 cores, whereas jsonnet-v0.20.0 only used a single core.
The text was updated successfully, but these errors were encountered: