This change improves this area a bit by consolidating the matcher implementations between the benchmarks project and the conformance tests. Additionally I split the minimal matcher into a really trivial implementation for the simple tests and a more complex one for the larger tests. This allows us to keep the plaintext/techempower scenario in sight while also having a good baseline for the more sophisticated tests. Also starting to add tests that verify that matchers behave as expected. The matchers now successfully execute all of these benchmarks, which means that they support literals and parameters. Missing features: - complex segments - catchall - default values - optional parameters - constraints - complex segments with file extensions This is a good place to iterate a bit more of perf and try to make a decision about what we want to implement. |
||
|---|---|---|
| .. | ||
| Matchers | ||
| Properties | ||
| Microsoft.AspNetCore.Routing.Performance.csproj | ||
| readme.md | ||
readme.md
Compile the solution in Release mode (so binaries are available in release)
To run a specific benchmark add it as parameter.
dotnet run -c Release --framework <tfm> <benchmark_name>
To run all benchmarks use '*' as the name.
dotnet run -c Release --framework <tfm> *
If you run without any parameters, you'll be offered the list of all benchmarks and get to choose.
dotnet run -c Release --framework <tfm>