open-feature/flagd

[FEATURE] Improve evaluation performance

Open

#1453 aperta il 20 nov 2024

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

Metriche repository

Star
 (925 star)
Metriche merge PR
 (Merge medio 9g 4h) (12 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