using BenchmarkDotNet.Attributes;using BenchmarkDotNet.Order;using System.Collections.Generic;using System.Text;using System.Threading.Tasks;[MemoryDiagnoser][Orderer(SummaryOrderPolicy.FastestToSlowest)][RankColumn]public class MyBenchmarks{ private int[] data; public MyBenchmarks() { data = new int[1000]; for (int i = 0; i < data.Length; i++) { data[i] = i + 1; } } [Benchmark] public int SumArray() { int sum = 0; for (int i = 0; i < data.Length; i++) { sum += data[i]; } return sum; } [Benchmark] public int ParallelSumArray() { int sum = 0; Parallel.For(0, data.Length, i => { sum += data[i]; }); return sum; } int NumberOfItems = 100000; [Benchmark] public string ConcatStringsUsingStringBuilder() { var sb = new StringBuilder(); for (int i = 0; i < NumberOfItems; i++) { sb.Append("Hello World!" + i); } return sb.ToString(); } [Benchmark] public string ConcatStringsUsingGenericList() { var list = new List<string>(NumberOfItems); for (int i = 0; i < NumberOfItems; i++) { list.Add("Hello World!" + i); } return list.ToString(); }}
3. Update program.cs
internal class Program{ static void Main(string[] args) { // Console.WriteLine("Hello, World!"); var summary = BenchmarkRunner.Run<MyBenchmarks>(); //summary.ExportToCsv("benchmark_results.csv"); //summary.ExportToHtml("benchmark_results.html"); }}