Daniel Martí

Results 1454 comments of Daniel Martí
trafficstars

After fixing the performance (and memory) issues with the new closedness algorithm in #3881, I thought I'd grab new numbers. I use the new CUE_BENCH env var alongside benchstat: ```...

Another update; as of 991e5493223d98f443537a2f2d1ce2f7ea9b08d7, @mpvl has implemented the first part of memory management, so the memory usage is way down, almost to evalv2 levels: ``` │ old │ new...

The 3s CPU time bug is now fixed as of https://review.gerrithub.io/c/cue-lang/cue/+/1218273: ``` │ old │ new │ │ sec/op │ sec/op vs base │ VetAutomata 4.345 ± 1% 8.510 ±...

Yes, nothing came to our minds that's easy to do, other than "avoid a top-level disjunction" or "try to keep the values under the disjunction a bit smaller". Some sort...

That said, we still think we can get another 10-30% reduction in allocations relatively easily, so we will definitely attempt that.

I grabbed new numbers with Go 1.24.6 using CUE v0.14.0 with `CUE_EXPERIMENT=evalv3=0` versus master. ``` │ old │ new │ │ sec/op │ sec/op vs base │ VetAutomata 4.936 ±...

We haven't made huge progress here, but comparing master from the last update on August 8th (d9a9f7b0be36400f818b6feb840595b3fc0824f2) against master today, I see similar wall times (17.30s before, 17.05s after), and...

I should also note that the jump from ~10s to ~17s doesn't seem to be caused by CUE itself; the upstream automata repo has had dozens of commits in the...

The latest round of investigation found that a main contributor to the slowness was the use of the `meta/v1.#List` type: https://github.com/uhthomas/automata/blob/30f5bba5acf68440586e92728689453411a7996b/cue.mod/gen/k8s.io/apimachinery/pkg/apis/meta/v1/types_go_gen.cue#L1106 Its `items` field is essentially a `[..._]`, and your...

We also found that your schemas have a large amount of disjunctions, which is the main source of the memory usage here. Particularly since some of the schemas recurse into...