open-policy-agent/opa

[Performance] Trie index cache when one input is data reference

prasanthj opened this issue · 2 comments

Short description

any_prefix_match and any_suffix_match builtin constructs a trie index internally every time the builtin is invoked. If the input is a reference to data there is possibility of caching the trie index until the data changes.

When the data is around 80k paths, the p99 latency reported by opa bench is ~200ms of which about ~150ms is added by #5946 as per the slack discussion below.

Expected behavior

Reuse trie index when data does not change for the any_prefix_match and any_suffix_match builtin

Additional context

https://openpolicyagent.slack.com/archives/CBR63TK2A/p1698428765461689 thread has additional context

FYI there is existing work to resolve #5946 in #6040

This issue has been automatically marked as inactive because it has not had any activity in the last 30 days. Although currently inactive, the issue could still be considered and actively worked on in the future. More details about the use-case this issue attempts to address, the value provided by completing it or possible solutions to resolve it would help to prioritize the issue.