splitio / split-synchronizer

Golang agent for Split SDKs
Other
16 stars 15 forks source link

add historic storage for keeping track of flagsets #242

Closed mredolatti closed 1 year ago

mredolatti commented 1 year ago

Add an optimized historic storage to support flagsets when serving /splitChanges in the split-proxy app.

Sample results here for reference:

goos: darwin
goarch: amd64
pkg: github.com/splitio/split-synchronizer/v5/splitio/proxy/storage/optimized
cpu: Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz
BenchmarkFlagSetProcessing/sorted-slice-16                  6470            194996 ns/op          119632 B/op        190 allocs/op
BenchmarkFlagSetProcessing/sorted-slice-16                  7689            184180 ns/op          120015 B/op        191 allocs/op
BenchmarkFlagSetProcessing/sorted-slice-16                  7058            179562 ns/op          120483 B/op        192 allocs/op
BenchmarkFlagSetProcessing/sorted-slice-16                  7476            183769 ns/op          119587 B/op        190 allocs/op
BenchmarkFlagSetProcessing/sorted-slice-16                  7656            178133 ns/op          119867 B/op        191 allocs/op
BenchmarkFlagSetProcessing/maps-16                          1940            605115 ns/op         1535541 B/op       2380 allocs/op
BenchmarkFlagSetProcessing/maps-16                          1942            615861 ns/op         1534754 B/op       2379 allocs/op
BenchmarkFlagSetProcessing/maps-16                          1915            615651 ns/op         1535475 B/op       2380 allocs/op
BenchmarkFlagSetProcessing/maps-16                          2038            635693 ns/op         1534103 B/op       2378 allocs/op
BenchmarkFlagSetProcessing/maps-16                          1953            606300 ns/op         1535843 B/op       2380 allocs/op
PASS
sonarqube-pull-requests[bot] commented 1 year ago

SonarQube Quality Gate

Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 2 Code Smells

92.1% 92.1% Coverage
0.0% 0.0% Duplication