v0.3.10 - Performance improvements
Instrumentation and optimization.
New Features
- A new
REGOCPP_ACTION_METRICS
option is available. When turned on, it will compile rego-cpp with
instrumentation to measure the number of times a Trieste action is executed and how long is spent
in each. - A new internal
join
method.
Improvements
ValueDef
now caches itsstr
andjson
representations instead of computing them each time.
This has had a significant impact on unification (~5x speedup)- Use of the new
join
method reduces allocations and copies for common string operations - The unifier can now act over
Object
,Set
, andArray
nodes directly. - The
functions
pass has been refactored to produce fewer temporary variables and to perform
fewer rewrites, reducing its runtime by half. - The local variable fixing that used to happen in
implicit_enums
now happens in its own pass,enum_locals
.