open-feature/flagd

[FEATURE] Improve evaluation performance

Aperta

#1453 aperta il 20 nov 2024

 (8 commenti) (1 reazione) (1 assegnatario)Go (118 fork)github user discovery
enhancementgood first issuehelp wanted

Metriche repository

Star
 (925 stelle)
Metriche merge PR
 (Merge medio 3g 9h) (8 PR mergiate in 30 g)

Descrizione

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.

Guida contributor