Releases: niharrathod/ruleengine-core
Releases · niharrathod/ruleengine-core
release/v0.2.0
ruleengine-core release v0.2.0
Change log:
- Commit-684744f RuleEngineOption exported
Benchmark results:
goos: linux
goarch: amd64
pkg: github.com/niharrathod/ruleengine-core/benchmark
cpu: AMD Ryzen 5 5600X 6-Core Processor
Benchmark_RuleEngine_10_Rule_EvaluateComplete/validInput-12 576435 11459 ns/op 4067 B/op 60 allocs/op
Benchmark_RuleEngine_10_Rule_EvaluateComplete/invalidInput-12 501379 10082 ns/op 4068 B/op 60 allocs/op
Benchmark_RuleEngine_100_Rule_EvaluateComplete/validInput-12 95434 78895 ns/op 19276 B/op 420 allocs/op
Benchmark_RuleEngine_100_Rule_EvaluateComplete/invalidInput-12 106405 90262 ns/op 19277 B/op 420 allocs/op
Benchmark_RuleEngine_1000_Rule_EvaluateComplete/validInput-12 5947 842144 ns/op 171464 B/op 4024 allocs/op
Benchmark_RuleEngine_1000_Rule_EvaluateComplete/invalidInput-12 7814 682273 ns/op 171375 B/op 4020 allocs/op
PASS
ok github.com/niharrathod/ruleengine-core/benchmark 40.951s
release/v0.1.0
ruleengine-core release v0.1.0
Change log:
- Commit-ac57bbdb validation for RuleEngineConfig exported outside package
Benchmark results:
goos: linux
goarch: amd64
pkg: github.com/niharrathod/ruleengine-core/benchmark
cpu: AMD Ryzen 5 5600X 6-Core Processor
Benchmark_RuleEngine_10_Rule_EvaluateComplete/validInput-12 666043 13222 ns/op 4068 B/op 60 allocs/op
Benchmark_RuleEngine_10_Rule_EvaluateComplete/invalidInput-12 468490 12842 ns/op 4068 B/op 60 allocs/op
Benchmark_RuleEngine_100_Rule_EvaluateComplete/validInput-12 64123 88550 ns/op 19276 B/op 420 allocs/op
Benchmark_RuleEngine_100_Rule_EvaluateComplete/invalidInput-12 66668 84186 ns/op 19275 B/op 420 allocs/op
Benchmark_RuleEngine_1000_Rule_EvaluateComplete/validInput-12 9457 886132 ns/op 171466 B/op 4024 allocs/op
Benchmark_RuleEngine_1000_Rule_EvaluateComplete/invalidInput-12 6710 940819 ns/op 171375 B/op 4020 allocs/op
PASS
ok github.com/niharrathod/ruleengine-core/benchmark 43.232s
release/v0.1.0-beta.0
Beta release for ruleengine-core.
- High level structure for fields, custom conditions, rules and rule engine config.
- Rule evaluation operation as recursive Tree traversal
- Supported value types : 'int', 'float', 'string', 'bool'
- Supported custom condition operators : '>', '>=', '<', '<=', '==', '!=', 'contain'
- Supported rule condition types : 'and', 'or', 'not'
Benchmark results:
goos: linux
goarch: amd64
pkg: github.com/niharrathod/ruleengine-core/benchmark
cpu: AMD Ryzen 5 5600X 6-Core Processor
Benchmark_RuleEngine_10_Rule_EvaluateComplete/validInput-12 480844 15704 ns/op 4067 B/op 60 allocs/op
Benchmark_RuleEngine_10_Rule_EvaluateComplete/invalidInput-12 351399 14445 ns/op 4067 B/op 60 allocs/op
Benchmark_RuleEngine_100_Rule_EvaluateComplete/validInput-12 92270 94830 ns/op 19275 B/op 420 allocs/op
Benchmark_RuleEngine_100_Rule_EvaluateComplete/invalidInput-12 62655 85766 ns/op 19276 B/op 420 allocs/op
Benchmark_RuleEngine_1000_Rule_EvaluateComplete/validInput-12 7056 822275 ns/op 171462 B/op 4024 allocs/op
Benchmark_RuleEngine_1000_Rule_EvaluateComplete/invalidInput-12 8286 734090 ns/op 171373 B/op 4020 allocs/op
PASS
ok github.com/niharrathod/ruleengine-core/benchmark 45.539s