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>
37 lines
1.1 KiB
C#
37 lines
1.1 KiB
C#
using System;
|
|
|
|
namespace Benchmarks
|
|
{
|
|
class Program
|
|
{
|
|
static void Main(string[] args)
|
|
{
|
|
Console.WriteLine("=== Regorus C# Benchmarks ===\n");
|
|
|
|
try
|
|
{
|
|
Console.WriteLine("Running Engine Evaluation Benchmark...");
|
|
EngineEvaluationBenchmark.RunEngineEvaluationBenchmark();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Console.WriteLine($"Engine benchmark failed: {ex.Message}");
|
|
}
|
|
|
|
Console.WriteLine("\n" + new string('=', 80) + "\n");
|
|
|
|
try
|
|
{
|
|
Console.WriteLine("Running Compiled Policy Evaluation Benchmark...");
|
|
CompiledPolicyEvaluationBenchmark.RunCompiledPolicyEvaluationBenchmark();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Console.WriteLine($"Compiled policy benchmark failed: {ex.Message}");
|
|
}
|
|
|
|
Console.WriteLine("\n=== Benchmarks Complete ===");
|
|
}
|
|
}
|
|
}
|