This repository contains a macro benchmark project for measure ASP.NET Core REST Web API, gRPC and Microsoft Orleans data transfer object serialization/ de-serialization performance.
To run the benchmark, you need to have the .NET 8 SDK installed.
-
Go to the backends folder and run the three PowerShell scripts (
start-web-api.ps1
,start-grpc-service.ps1
,start-orleans-silo.ps1
) on each terminal to start the REST API, gRPC and Orleans backends respectively. -
Go to the Benchmarks/DemoRemoteMacroBenchmark folder and execute dotnet run command:
- Run all benchmarks:
dotnet run -c Release -- -f '*'
The demo benchmark results will like the screen shot image.
Also these benchmarks can be run separately:- Run only the REST API benchmarks:
dotnet run -c Release -- -f '*REST*'
- Run only the gRPC benchmarks:
dotnet run -c Release -- -f '*Grpc*'
- Run only the Microsoft Orleans benchmarks:
dotnet run -c Release -- -f '*Orleans*'