Skip to content

v0.3.10 - Performance improvements

Compare
Choose a tag to compare
@matajoh matajoh released this 22 Sep 23:57
· 21 commits to main since this release
4bf774b

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 its str and json 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, and Array 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.