Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[S] Documentation signpost added #4501

Merged
merged 3 commits into from
Oct 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,7 @@ Finding these benchmarks in a separate repository might be surprising. Performan

## Documentation

* [Microbenchmarks Guide](./src/benchmarks/micro/README.md) for information on running our microbenchmarks
* [Scenario Tests Guide](./docs/scenarios-workflow.md) for information on running our real-world scenario benchmarks
* [Benchmarking workflow for dotnet/runtime repository](./docs/benchmarking-workflow-dotnet-runtime.md) for information on benchmarking local [dotnet/runtime](https://github.com/dotnet/runtime) builds
* [Profiling workflow for dotnet/runtime repository](./docs/profiling-workflow-dotnet-runtime.md) for information on profiling local [dotnet/runtime](https://github.com/dotnet/runtime) builds
See the [documentation signpost](./docs/readme.md).

## Contributing to Repository

Expand Down
42 changes: 42 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# .NET Performance Repository Documentation Readme

The documentation in this repo is organized into the following sections:

## Getting Started

- [Prerequisites](prerequisites.md) - Information on what you need to get started.
- [Perf report walkthrough](perfreport-walkthrough.md) - This document describes Performance Report Advanced Features.
- [Crank to Helix workflow](crank-to-helix-workflow.md) - Information on how to schedule performance tests to be run on Helix machines using Crank (instead of running locally).
- [Profiling workflow dotnet runtime](profiling-workflow-dotnet-runtime.md) - This doc explains how to profile local [dotnet/runtime](https://github.com/dotnet/runtime) builds and it's targetted at [dotnet/runtime](https://github.com/dotnet/runtime) repository contributors.
- [Pipeline templates](../eng/common/template-guidance.md) - Information on azure yml pipelines.

## Running Benchmarks

- [BenchmarkDotNet](benchmarkdotnet.md) - Information of how to run benchmarks using BenchmarkDotNet tool and interpret results.
- [Benchmarking workflow](benchmarking-workflow-dotnet-runtime.md) - Information about the (micro)benchmarks for the [dotnet/runtime](https://github.com/dotnet/runtime) in this repository.
- [Microbenchmarks Guide](../src/benchmarks/micro/README.md) for information on running our microbenchmarks.
- [Micro Benchmarks of .NET Runtime(s)](../src/benchmarks/micro/README.md) - Information on benchmarks of .NET Runtime(s).
- [Microbenchmarks design guidelines](microbenchmark-design-guidelines.md) - Detailed guidelines on how to design and write microbenchmarks.
- [benchmarks_local.py script guide](../src/scripts/BENCHMARKS_LOCAL_README.md) - Description of a script for testing the performance of the different dotnet/runtime build types locally.
- [ResultsComparer tool](../src/tools/ResultsComparer/README.md) - Information on tool which allows for easy comparison of provided benchmark results.
- [Serializers Benchmarks](../src/benchmarks/micro/Serializers/README.md) - Information on benchmarks of the most popular serializers.
- [bepuphysics2 Benchmarks](../src/benchmarks/real-world/bepuphysics2/README.md) - Information on benchmarks of bepuphysics2 library.
- [Microsoft.ML Benchmarks datasets](../src/benchmarks/real-world/Microsoft.ML.Benchmarks/Input/README.md) - Information on datasets used for benchmarking of the Microsoft.ML library.
- [Benchmarks run in PowerShell](../src/benchmarks/real-world/PowerShell.Benchmarks/README.md) - Information on performance tests for different pieces of the library run using PowerShell.

### GC Benchmarks

- [ASP.NET Benchmarks errors](../src/benchmarks/gc/GC.Infrastructure/docs/ASPNETBenchmarks.md) - Information on main types of errors while running ASP.NET Benchmarks using crank.
- [Testing GC.Infrastructure](../src/benchmarks/gc/GC.Infrastructure/README.md) - Information on testing GC.Infrastructure.
- [GC.Analysis.API](../src/benchmarks/gc/GC.Infrastructure/GC.Analysis.API/README.md) - Information on conducting GC, CPU and Threading analysis using .NET Interactive notebooks.
- [GC.Infrastructure Notebooks](../src/benchmarks/gc/GC.Infrastructure/Notebooks/README.md) - Information on notebooks that either provide examples or functionality for specialized analysis
- [Benchmark Analysis](../src/benchmarks/gc/GC.Infrastructure/Notebooks/BenchmarkAnalysis.md) - Information on a notebook which contains code for producing charts (and soon, tables) for GC benchmarks. It can currently process data
from the ASP.NET benchmarks obtained using crank as well as ETL data.

## Running Scenarios

- [Scenarios workflow](scenarios-workflow.md) - An introduction of how to run scenario tests.
- [Basic scenarios](basic-scenarios.md) - Specific instruction of how to run various basic scenarios.
- [Blazor scenarios](blazor-scenarios) - Specific instruction of how to run _New Blazorwasm Template Size On Disk_ scenarios.
- [Cross-gen scenarios](crossgen-scenarios.md) - Specific instruction of how to run _crossgen_ scenarios.
- [SDK scenarios](sdk-scenarios.md) - Specific instruction of how to run _SDK Build Throughput Scenario_ scenarios.
1 change: 1 addition & 0 deletions docs/blazor-scenarios.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ Same instruction of [Step 4 in Scenario Tests Guide](scenarios-workflow.md#step-
## Command Matrix

For the purpose of quick reference, the commands can be summarized into the following matrix:

| Scenario | Asset Directory | Precommand | Testcommand | Postcommand | Supported Framework | Supported Platform |
|-------------------------------------|-----------------|-------------------------------------------------------------|-------------------------------------------------------------------|-------------|---------------------|--------------------|
| SOD - New Blazor Template - Publish | blazor | pre.py publish --msbuild "/p:_TrimmerDumpDependencies=true" | test.py sod --scenario-name "SOD - New Blazor Template - Publish" | post.py | net7.0; net8.0 | Windows;Linux |
Expand Down
1 change: 1 addition & 0 deletions docs/crossgen-scenarios.md
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@ python3 post.py
## Command Matrix

For the purpose of quick reference, the commands can be summarized into the following matrix:

| Scenario | Asset Directory | Precommand | Testcommand | Postcommand | Supported Framework | Supported Platform |
|----------------------------------------|-----------------|--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------|-------------|---------------------|-------------------------|
| Crossgen Throughput | crossgen | N/A | test.py crossgen --core-root \<path to Core_Root> --single \<assembly name> | post.py | N/A | Windows-x64;Windows-x86 |
Expand Down
7 changes: 4 additions & 3 deletions eng/common/template-guidance.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Overview

Arcade provides templates for public (`/templates`) and 1ES pipeline templates (`/templates-official`) scenarios. Pipelines which are required to be managed by 1ES pipeline templates should reference `/templates-offical`, all other pipelines may reference `/templates`.
Arcade provides templates for public (`/templates`) and 1ES pipeline templates (`/templates-official`) scenarios. Pipelines which are required to be managed by 1ES pipeline templates should reference `/templates-offical`, all other pipelines may reference `/templates`.

## How to use

Expand All @@ -12,7 +12,7 @@ Basic guidance is:

See [azure-pipelines.yml](../../azure-pipelines.yml) (templates-official example) or [azure-pipelines-pr.yml](../../azure-pipelines-pr.yml) (templates example) for examples.

#### The `templateIs1ESManaged` parameter
### The `templateIs1ESManaged` parameter

The `templateIs1ESManaged` is available on most templates and affects which of the variants is used for nested templates. See [Development Notes](#development-notes) below for more information on the `templateIs1ESManaged1 parameter.

Expand All @@ -23,6 +23,7 @@ The `templateIs1ESManaged` is available on most templates and affects which of t
1ES pipeline templates impose a policy where every publish artifact execution results in additional security scans being injected into your pipeline. When using `templates-official/jobs/jobs.yml`, Arcade reduces the number of additional security injections by gathering all publishing outputs into the [Build.ArtifactStagingDirectory](https://learn.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&tabs=yaml#build-variables-devops-services), and utilizing the [outputParentDirectory](https://eng.ms/docs/cloud-ai-platform/devdiv/one-engineering-system-1es/1es-docs/1es-pipeline-templates/features/outputs#multiple-outputs) feature of 1ES pipeline templates. When implementing your pipeline, if you ensure publish artifacts are located in the `$(Build.ArtifactStagingDirectory)`, and utilize the 1ES provided template context, then you can reduce the number of security scans for your pipeline.

Example:

``` yaml
# azure-pipelines.yml
extends:
Expand Down Expand Up @@ -59,7 +60,7 @@ Note: Multiple outputs are ONLY applicable to 1ES PT publishing (only usable whe

## Development notes

**Folder / file structure**
### Folder / file structure

``` text
eng\common\
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ This repository contains all the code responsible for conducting GC, CPU and Thr
1. Install all dependencies by:
1. [Installing VSCode](https://code.visualstudio.com/Download) - install vscode using the installer; downloading a zip file of the exe will result in issues with the ``Install.cmd`` script.
2. [Installing the .NET6 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/6.0)
3. Ensure you have Jupyter:
3. Ensure you have Jupyter (one of the following options):
1. Install python using the Windows Store.
2. Manually install Jupyter:
1. ``pip`` is in your PATH:
Expand Down
Loading