mirror of
https://github.com/microsoft/regorus.git
synced 2026-08-05 02:16:11 +00:00
This commit introduces a complete multi-threaded evaluation benchmark suite for both Rust and C# implementations of Regorus. - Implemented engine evaluation benchmark with input and engine cloning strategies - Implemented compiled policy evaluation benchmark with input cloning and shared compiled policy strategies. - Created EngineEvaluationBenchmark.cs and CompiledPolicyEvaluationBenchmark.cs with time-based execution (3s warmup + 3s evaluation) - Implemented configuration options matching Rust implementation (useClonedEngines, useSharedPolicies parameters) - Created markdown analysis documentation with cross-platform performance analysis - C# seems to achieve 58-89% of Rust performance on test machine. Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com>
24 lines
517 B
Rego
24 lines
517 B
Rego
package bench
|
|
|
|
default allow := false
|
|
|
|
# Time-based access control with complex conditions
|
|
business_hours if {
|
|
hour := time.clock([time.now_ns(), "America/New_York"])[0]
|
|
hour >= 9
|
|
hour < 17
|
|
}
|
|
|
|
allow if {
|
|
input.user.department in ["engineering", "product"]
|
|
input.action == "deploy"
|
|
business_hours
|
|
count([x | x := input.approvals[_]; x.status == "approved"]) >= 2
|
|
}
|
|
|
|
allow if {
|
|
input.user.emergency_access == true
|
|
input.action in ["read", "diagnose"]
|
|
input.justification != ""
|
|
}
|