open-feature/flagd

[FEATURE] Improve evaluation performance

Aberta

#1.453 aberto em 20 de nov. de 2024

 (8 comentários) (1 reação) (1 responsável)Go (118 forks)github user discovery
enhancementgood first issuehelp wanted

Métricas do repositório

Stars
 (925 estrelas)
Métricas de merge de PR
 (Mesclagem média 3d 9h) (8 fundiu PRs em 30d)

Description

Overview

The flag evaluation engine in flagd leverages JsonLogic to provide a powerful and flexible rule-based serializable logic. The flagd binary and in-process Go flagd provider use this library. To improve flag evaluation performance and reduce computational overhead, the ruleset should be pre-decoded when a flag set is loaded (or updated). This removes the need to parse the JsonLogic structure for each evaluation.

### Tasks
- [ ] [Add support for pre-decoded rules in the Go JsonLogic SDK](https://github.com/diegoholiveira/jsonlogic/issues/88).
- [ ] Update flagd to use the pre-decoded rules.
- [ ] 🥇 Bonus points for running a performance test to measure the improvements

This should be a non-breaking change in the Go JsonLogic SDK.

Guia do colaborador