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

[perf] Overview of Mono AOT x64 microbenchmarks from Preview 5 to Preview 7 #89238

Closed
kotlarmilos opened this issue Jul 20, 2023 · 0 comments
Closed
Assignees
Labels
area-Codegen-meta-mono tenet-performance Performance related issue tracking This issue is tracking the completion of other related issues.
Milestone

Comments

@kotlarmilos
Copy link
Member

kotlarmilos commented Jul 20, 2023

Description

This report provides an overview of the major performance improvements and regressions Mono AOT from Preview 5 to Preview 7. The purpose of this analysis is to identify any performance improvements and regressions between the two snapshots and mitigate the impact within the .NET 8 release. The regression in the performance of occurred on May 11th, 2023. To evaluate the extent of this regression, we will compare the Preview 4 snapshot from May 2nd, 2023, with the Preview 7 snapshot from July 19th, 2023.

The configuration used for the benchmarks is Mono AOT with LLVM on x64 ubuntu 18.04.

Regressions

A total of 156 microbenchmarks regressed more than 5% during the between May 2nd and July 19th, 2023. Some of them may be noise in measurements, so the analysis should be taken dubiously and readers are encouraged to examine benchmark reports for thorough analysis.

Name Baseline Value Compare Value % Difference
System.Perf_Convert.ToBase64CharArray(binaryDataSize: 1024, formattingOptions: None) 1836.06 7554.54 311.45
System.Memory.Span<Int32>.IndexOfValue(Size: 4) 11.31 40.59 258.89
System.Tests.Perf_Enum.HasFlag 0.08 0.28 250
System.Memory.Span<Int32>.IndexOfValue(Size: 512) 186.47 610.48 227.39
Microsoft.Extensions.Primitives.StringSegmentBenchmark.LastIndexOf 14.61 47.51 225.19
System.Memory.Span<Char>.IndexOfValue(Size: 33) 20.49 65.79 221.08
System.Collections.ContainsTrue<Int32>.ICollection(Size: 512) 102156.81 309156.44 202.63
System.Collections.ContainsFalse<Int32>.ICollection(Size: 512) 194446.04 577782.73 197.14
System.Collections.ContainsTrue<Int32>.ImmutableArray(Size: 512) 106299.93 313108.63 194.55
System.Memory.Span<Int32>.LastIndexOfValue(Size: 4) 10.6 30.11 184.06
System.Collections.Tests.Perf_BitArray.BitArrayNot(Size: 512) 156.05 387.13 148.08
System.Memory.ReadOnlySpan.IndexOfString(input: だだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだすだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだ, value: す, comparisonType: Ordinal) 46.6 112.47 141.35
System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, Ordinal, False)) 232.74 522.51 124.5
System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling: Allow, SegmentSize: 100, TestCase: LongMultiLine) 41771.44 83590.36 100.11
System.Text.RegularExpressions.Tests.Perf_Regex_Common.OneNodeBacktracking(Options: IgnoreCase, Compiled) 303.51 556.79 83.45
System.Memory.Span<Char>.IndexOfValue(Size: 512) 186.48 340.74 82.72
System.Memory.ReadOnlySpan.IndexOfString(input: Hello Worldbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbbbbba!, value: y, comparisonType: Ordinal) 44.77 81.37 81.75
System.IO.Tests.Perf_Path.GetFileNameWithoutExtension 72.17 130.12 80.3
System.Memory.ReadOnlySpan.IndexOfString(input: だだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだxだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだ, value: x, comparisonType: Ordinal) 359.55 615.97 71.32
System.Tests.Perf_Boolean.ToString(value: True) 0.21 0.35 66.67
System.Memory.ReadOnlySpan.IndexOfString(input: Hello WorldbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbareallyreallylongHello WorldbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbareallyreallylongHello Worldbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbareallyreallylong!xyz, value: ~, comparisonType: Ordinal) 143.47 237.72 65.69
System.Tests.Perf_String.Replace_Char(text: This is a very nice sentence, oldChar: 'z', newChar: 'y') 28.82 47.39 64.43
System.Memory.Span<Byte>.LastIndexOfAnyValues(Size: 4) 12.2 19.55 60.25
System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchWord(Options: IgnoreCase, Compiled) 528.17 833.11 57.74
System.Tests.Perf_Single.Parse(value: 12345) 112.2 175.82 56.7
System.Memory.Span<Byte>.IndexOfAnyTwoValues(Size: 4) 13.28 20.79 56.55
System.Text.RegularExpressions.Tests.Perf_Regex_Common.ReplaceWords(Options: Compiled) 12433.17 19087.83 53.52
System.Tests.Perf_String.Replace_String(text: This is a very nice sentence. This is another very nice sentence., oldValue: a, newValue: ) 208.84 315.4 51.02
System.Collections.IterateFor<String>.ReadOnlySpan(Size: 512) 461.08 683.44 48.23
Microsoft.Extensions.DependencyInjection.TimeToFirstService.Singleton(Mode: Dynamic) 7861.42 11568.24 47.15
System.Text.RegularExpressions.Tests.Perf_Regex_Common.IP_IsNotMatch(Options: Compiled) 346.94 510 47
System.IO.Tests.StringReaderReadLineTests.ReadLine(LineLengthRange: [ 9, 32]) 59315.82 85012.82 43.32
Microsoft.Extensions.DependencyInjection.TimeToFirstService.Transient(Mode: Runtime) 7850.04 11234.83 43.12
System.Text.Json.Tests.Perf_Get.GetString 27491.32 39333.15 43.07
Microsoft.Extensions.DependencyInjection.TimeToFirstService.Transient(Mode: Dynamic) 7739.43 11039.51 42.64
System.Numerics.Tests.Perf_VectorOf<UInt16>.EqualsBenchmark 0.92 1.31 42.39
System.Memory.Span<Char>.SequenceEqual(Size: 4) 23.92 33.69 40.84
System.Memory.Span<Char>.IndexOfAnyFourValues(Size: 4) 28.18 39.38 39.74
System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt64(value: 18446744073709551615) 41.01 57.29 39.7
System.Tests.Perf_Environment.SetEnvironmentVariable 149.69 204.17 36.4
System.Net.Tests.Perf_WebUtility.HtmlDecode_Entities 793.41 1068.41 34.66
System.Tests.Perf_String.Split(s: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z, arr: [' '], options: None) 771.45 1034.74 34.13
System.Collections.IterateFor<String>.Array(Size: 512) 347.92 460.09 32.24
System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsNotMatch(Options: IgnoreCase, Compiled) 367.94 481.19 30.78
System.IO.Tests.StreamReaderReadToEndTests.ReadToEnd(LineLengthRange: [ 1, 8]) 302363619.79 393413008.92 30.11
System.Numerics.Tests.Perf_VectorOf<Byte>.EqualsStaticBenchmark 31.84 41.26 29.59
System.Memory.Span<Char>.Reverse(Size: 4) 11.19 14.47 29.31
System.Memory.Span<Byte>.IndexOfAnyFourValues(Size: 4) 29.86 38.39 28.57
System.Linq.Tests.Perf_Enumerable.Sum(input: IEnumerable) 563.21 722.65 28.31
System.Text.Tests.Perf_Encoding.GetChars(size: 16, encName: utf-8) 134.63 172.69 28.27
System.Tests.Perf_Double.Parse(value: -1.7976931348623157e+308) 224.55 283.09 26.07
System.Numerics.Tests.Perf_VectorOf<SByte>.LessThanOrEqualAllBenchmark 24.49 30.85 25.97
System.IO.Tests.Perf_File.ReadAllLines 49709.46 61925.36 24.57
System.Tests.Perf_Double.Parse(value: 1.7976931348623157e+308) 221.62 274.76 23.98
System.Numerics.Tests.Perf_VectorOf<Int16>.BitwiseOrBenchmark 2.88 3.57 23.96
System.Memory.ReadOnlySequence.Slice_Start(Segment: Single) 10.32 12.79 23.93
System.IO.Tests.StreamReaderReadLineTests.ReadLine(LineLengthRange: [ 33, 128]) 120659.04 148821.05 23.34
System.Numerics.Tests.Perf_Vector3.NegateOperatorBenchmark 9.78 11.96 22.29
System.IO.Tests.Perf_Directory.EnumerateFiles 6526091.4 7960634.37 21.98
System.Security.Cryptography.Primitives.Tests.Performance.Perf_FixedTimeEquals.FixedTimeEquals_256Bit_VersusZero 50.04 60.86 21.62
System.Tests.Perf_Uri.Ctor(input: https://contoso.com) 286.02 347.22 21.4
System.Security.Cryptography.Primitives.Tests.Performance.Perf_FixedTimeEquals.FixedTimeEquals_256Bit_AllBitsDifferent 50.51 60.75 20.27
System.Numerics.Tests.Perf_Vector2.DistanceBenchmark 10.59 12.71 20.02
System.Tests.Perf_Int16.TryParse(value: 32767) 46.11 55.15 19.61
System.Numerics.Tests.Perf_Vector3.DivideByVector3Benchmark 10.94 13.04 19.2
System.Memory.Span<Char>.LastIndexOfValue(Size: 4) 10.6 12.61 18.96
System.Collections.Tests.Perf_BitArray.BitArrayCopyToBoolArray(Size: 512) 7519.8 8942.84 18.92
System.Numerics.Tests.Perf_VectorOf<SByte>.GreaterThanOrEqualAllBenchmark 2.11 2.5 18.48
System.Tests.Perf_String.IndexOfAny 115.42 136.59 18.34
System.Numerics.Tests.Perf_VectorOf<Int32>.EqualsBenchmark 0.81 0.95 17.28
System.Tests.Perf_Int32.TryParse(value: 2147483647) 55.94 65.38 16.88
System.Tests.Perf_Enum.Compare 2.97 3.47 16.84
Microsoft.Extensions.Primitives.Performance.StringValuesBenchmark.Count_String 1.31 1.53 16.79
System.Diagnostics.Perf_Activity.EnumerateActivityEventsLarge 6577.13 7656.93 16.42
System.Numerics.Tests.Perf_Vector3.AddFunctionBenchmark 10.57 12.28 16.18
System.Numerics.Tests.Perf_VectorOf<Int16>.InequalityOperatorBenchmark 0.44 0.51 15.91
System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>.Enumerate(Size: 10) 48.24 55.58 15.22
System.Tests.Perf_Int32.Parse(value: 2147483647) 58.57 67.48 15.21
System.Collections.IterateForEach<String>.IEnumerable(Size: 512) 2962.18 3405.16 14.95
System.Tests.Perf_Int32.TryParse(value: 12345) 41.25 47.36 14.81
System.Linq.Tests.Perf_Enumerable.FirstWithPredicate_LastElementMatches(input: Array) 649.19 738.11 13.7
System.Memory.Span<Byte>.Reverse(Size: 4) 23.92 27.06 13.13
System.Collections.Tests.Add_Remove_SteadyState<String>.Queue(Count: 512) 21.68 24.49 12.96
System.Numerics.Tests.Perf_Vector3.MaxBenchmark 13.26 14.97 12.9
PerfLabTests.CastingPerf2.CastingPerf.IFooObjIsIFooInterAlia 174244.47 195626.09 12.27
System.Numerics.Tests.Perf_VectorOf<UInt32>.ExclusiveOrOperatorBenchmark 2.82 3.16 12.06
System.Tests.Perf_UInt16.TryParse(value: 0) 29.02 32.44 11.78
System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: https://contoso.com/path/with?key=value#fragment) 888.36 992.32 11.7
System.Collections.IndexerSet<String>.List(Size: 512) 2918.13 3256.95 11.61
System.Collections.IterateForEach<Int32>.Dictionary(Size: 512) 2918.23 3256.52 11.59
System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: False, TestRandomAccess: True, TestCase: HelloWorld) 881.58 983.05 11.51
System.Numerics.Tests.Perf_Vector3.ReflectBenchmark 39.45 43.89 11.25
System.IO.Tests.Perf_Path.GetTempPath 475.3 528.5 11.19
System.Collections.IndexerSet<Int32>.List(Size: 512) 1321.05 1468.21 11.14
System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: False, Escaped: AllEscaped) 192543548.4 213535368.27 10.9
System.IO.Tests.Perf_Path.GetFullPathForLegacyLength 892.08 988.29 10.78
PerfLabTests.EnumPerf.ObjectGetTypeNoBoxing 0.28 0.31 10.71
GuardedDevirtualization.TwoClassInterface.Call(testInput: pB = 1.00) 1.79 1.98 10.61
System.IO.Tests.Perf_FileInfo.ctor_str 260.26 287.06 10.3
System.Numerics.Tests.Perf_VectorOf<UInt16>.ExclusiveOrOperatorBenchmark 2.82 3.11 10.28
System.Tests.Perf_Int64.TryParseSpan(value: 12345) 41.94 46.03 9.75
System.Tests.Perf_String.CtorCharCount(size: 10) 25.82 28.31 9.64
System.Numerics.Tests.Perf_VectorOf<UInt64>.DotBenchmark 2.94 3.22 9.52
System.Text.Json.Tests.Perf_Get.GetBoolean 364.4 398.96 9.48
System.Numerics.Tests.Perf_Vector3.DivideByScalarBenchmark 16.46 18.01 9.42
System.Tests.Perf_SByte.Parse(value: -128) 41.35 45.24 9.41
System.Threading.Tests.Perf_ThreadStatic.SetThreadStatic 2.17 2.37 9.22
System.Collections.Tests.Perf_BitArray.BitArrayAnd(Size: 4) 4.94 5.39 9.11
System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_LastElementMatches(input: List) 721.62 786.92 9.05
System.Numerics.Tests.Perf_VectorOf<SByte>.SubtractionOperatorBenchmark 2.79 3.04 8.96
Benchmark.GetChildKeysTests.AddChainedConfigurationEmpty 47952840.67 52071572.88 8.59
System.Numerics.Tests.Perf_VectorOf<Double>.SubtractBenchmark 2.92 3.17 8.56
System.Numerics.Tests.Perf_VectorOf<Single>.MultiplyOperatorBenchmark 2.83 3.07 8.48
System.Collections.ContainsTrue<String>.HashSet(Size: 512) 17877.2 19374.79 8.38
System.Numerics.Tests.Perf_VectorOf<UInt32>.GreaterThanAnyBenchmark 5.65 6.12 8.32
System.IO.Tests.Perf_FileStream.Read_NoBuffering(fileSize: 1048576, userBufferSize: 16384, options: None) 89284.96 96396 7.96
System.Tests.Perf_String.CtorCharCount(size: 1) 21.53 23.2 7.76
System.Tests.Perf_String.Substring_Int(s: dzsdzsDDZSDZSDZSddsz, i: 0) 2.22 2.39 7.66
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.GetHashCodeBenchmark 98.32 105.83 7.64
Microsoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages(HasSubscribers: False, Json: False) 135.42 145.7 7.59
System.Text.RegularExpressions.Tests.Perf_Regex_Cache.IsMatch(total: 40000, unique: 1600, cacheSize: 3200) 18834360.75 20212941.8 7.32
System.Collections.Tests.Perf_BitArray.BitArrayNot(Size: 4) 3.83 4.11 7.31
System.Linq.Tests.Perf_Enumerable.FirstWithPredicate_LastElementMatches(input: IEnumerable) 651.45 698.17 7.17
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.DivideBenchmark 18.89 20.22 7.04
System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: True, SkipValidation: False, Escaped: AllEscaped) 193792673.31 207213555.8 6.93
System.Tests.Perf_Char.Char_ToLower(c: '你', cultureName: zh-Hans) 85.97 91.74 6.71
System.Numerics.Tests.Perf_BigInteger.ToByteArray(numberString: 123) 30.31 32.27 6.47
System.Numerics.Tests.Perf_Matrix4x4.CreateLookAtBenchmark 154.37 164.32 6.45
System.Collections.Tests.Perf_BitArray.BitArrayByteArrayCtor(Size: 512) 1418.08 1509.38 6.44
System.Numerics.Tests.Perf_VectorOf<Single>.LessThanBenchmark 19.45 20.7 6.43
System.IO.Tests.BinaryWriterTests.WriteSingle 16.59 17.65 6.39
System.Buffers.Tests.ReadOnlySequenceTests<Byte>.FirstSpanMemory 20.75 22.07 6.36
System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: True, TestRandomAccess: True, TestCase: BasicJson) 6017.26 6396.89 6.31
System.Collections.Concurrent.Count<String>.Queue(Size: 512) 7.93 8.43 6.31
System.Linq.Tests.Perf_Enumerable.SkipHalfTakeHalf(input: IEnumerable) 895.63 951.91 6.28
System.Text.Tests.Perf_Encoding.GetByteCount(size: 16, encName: ascii) 8.81 9.36 6.24
System.Numerics.Tests.Perf_VectorOf<UInt32>.DotBenchmark 4.8 5.09 6.04
System.Collections.Tests.Perf_BitArray.BitArrayBoolArrayCtor(Size: 512) 825.32 875.1 6.03
System.Text.Tests.Perf_Encoding.GetByteCount(size: 512, encName: ascii) 8.81 9.34 6.02
System.IO.Tests.BinaryWriterTests.WriteUInt64 17.46 18.49 5.9
System.Collections.CtorFromCollection<Int32>.ConcurrentStack(Size: 512) 6904.3 7311.26 5.89
StoreBlock.AnyLocation.InitBlockAllOnes64 6.43 6.8 5.75
Benchstone.MDBenchI.MDMulMatrix.Test 960302147.47 1015204516 5.72
System.IO.Tests.Perf_StreamWriter.WritePartialCharArray(writeLength: 100) 7040317380.69 7436111839.2 5.62
System.Numerics.Tests.Perf_VectorOf<Double>.EqualityOperatorBenchmark 0.36 0.38 5.56
System.MathBenchmarks.Single.FusedMultiplyAdd 34642.37 36545.44 5.49
System.Buffers.Text.Tests.Utf8ParserTests.TryParseBool(value: true) 11.85 12.5 5.49
Benchstone.BenchI.MulMatrix.Test 649544783.21 685115800.08 5.48
System.Numerics.Tests.Perf_VectorOf<Byte>.MaxBenchmark 41.53 43.74 5.32
System.Collections.Tests.Perf_BitArray.BitArraySet(Size: 4) 9.86 10.38 5.27
System.Tests.Perf_Random.NextSingle 13.88 14.61 5.26
System.Numerics.Tests.Constructor.ConstructorBenchmark_Int32 22.42 23.59 5.22
System.Tests.Perf_UInt32.ParseSpan(value: 12345) 40.52 42.6 5.13
System.Memory.Span<Int32>.BinarySearch(Size: 4) 20.89 21.95 5.07
System.Numerics.Tests.Perf_Matrix3x2.CreateRotationWithCenterBenchmark 61.26 64.36 5.06
System.Collections.Sort<Int32>.Array_Comparison(Size: 512) 28171.27 29595.3 5.05

Here is a breakdown of the regressions grouped by libraries.

System.Text.**

Share UTF8 converters between coreclr and mono in #85558 regressed encoding microbenchmarks reported in #89242.

System.Tests.Perf.** and System.Perf.**

Changes in IUtf8SpanParsable on the primitive numeric types in #86875 regressed .Parse microbenchmarks reported in #89243.

System.Memory.Span.** and System.Memory.ReadOnly.**

There are several changes in #88101, #86655, and #85819 that introduced extra code and may have affected performance of microbenchmarks reported in #89247 and
#89250.

System.IO.**

StreamReader and Path microbenchmarks have regressed in #89249.

System.Collections.** and System.Buffers.**

BitArray and IterateFor microbenchmarks have regressed in #89251.

Microsoft.Extensions**

There are recent changes for debugger support #88960 or #88082, but it is unlikely they have caused the regressions reported in #89252.

Improvements

A total of 198 microbenchmarks improved more than 5% during the between May 2nd and July 19th, 2023.

Name Baseline Value Compare Value % Difference
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.LessThanAnyBenchmark 27.75 0.35 -98.74
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.LessThanAnyBenchmark 28.82 0.41 -98.58
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.GreaterThanAllBenchmark 18.14 0.27 -98.51
System.Runtime.Intrinsics.Tests.Perf_Vector128Float.LessThanAnyBenchmark 10.92 0.24 -97.8
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.LessThanAnyBenchmark 8.59 0.24 -97.21
System.Runtime.Intrinsics.Tests.Perf_Vector128Float.EqualsBenchmark 38.83 1.26 -96.76
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.GreaterThanAllBenchmark 17.39 0.58 -96.66
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.SumBenchmark 9.48 0.33 -96.52
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.LessThanAnyBenchmark 8.59 0.54 -93.71
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.EqualityOperatorBenchmark 3.53 0.24 -93.2
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.GreaterThanBenchmark 43.5 3.05 -92.99
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.GreaterThanAnyBenchmark 3.75 0.28 -92.53
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.AddOperatorBenchmark 36 2.81 -92.19
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.GreaterThanBenchmark 37.99 3.06 -91.95
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.AddOperatorBenchmark 35.33 2.87 -91.88
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.NegateBenchmark 33.32 2.79 -91.63
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.NegateBenchmark 32.9 2.84 -91.37
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.LessThanAllBenchmark 3.7 0.33 -91.08
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.AbsBenchmark 31.45 2.83 -91
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.LessThanOrEqualBenchmark 31.46 2.97 -90.56
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.NegateBenchmark 27.08 2.58 -90.47
System.Runtime.Intrinsics.Tests.Perf_Vector128Int.SubtractBenchmark 29.47 2.86 -90.3
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.LessThanOrEqualBenchmark 31.44 3.06 -90.27
System.Runtime.Intrinsics.Tests.Perf_Vector128Float.InequalityOperatorBenchmark 3.83 0.38 -90.08
System.Runtime.Intrinsics.Tests.Perf_Vector128Float.LessThanBenchmark 27.41 2.73 -90.04
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.GreaterThanOrEqualBenchmark 28.1 2.82 -89.96
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.MaxBenchmark 28.26 2.84 -89.95
System.Runtime.Intrinsics.Tests.Perf_Vector128Float.MinBenchmark 28.28 2.85 -89.92
System.Runtime.Intrinsics.Tests.Perf_Vector128Float.EqualsStaticBenchmark 27.34 2.76 -89.9
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.GreaterThanAnyBenchmark 3.22 0.33 -89.75
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.EqualsStaticBenchmark 27.22 2.85 -89.53
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.NegateBenchmark 27.13 3.01 -88.91
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.AddBenchmark 25.04 2.82 -88.74
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.EqualityOperatorBenchmark 3.77 0.43 -88.59
System.Runtime.Intrinsics.Tests.Perf_Vector128Float.MultiplyBenchmark 25.15 2.87 -88.59
System.Runtime.Intrinsics.Tests.Perf_Vector128Float.AddOperatorBenchmark 25.17 2.88 -88.56
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.MultiplyBenchmark 25.06 2.87 -88.55
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.InequalityOperatorBenchmark 3.32 0.38 -88.55
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.InequalityOperatorBenchmark 3.63 0.42 -88.43
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.InequalityOperatorBenchmark 3.71 0.43 -88.41
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.MinBenchmark 23.37 2.85 -87.8
System.Runtime.Intrinsics.Tests.Perf_Vector128Int.LessThanOrEqualBenchmark 23.16 2.89 -87.52
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.EqualsStaticBenchmark 22.52 2.84 -87.39
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.LessThanBenchmark 22.49 2.87 -87.24
System.Runtime.Intrinsics.Tests.Perf_Vector128.ConvertFloatToIntBenchmark 20.35 2.61 -87.17
System.Runtime.Intrinsics.Tests.Perf_Vector128Int.GreaterThanOrEqualBenchmark 22.99 2.95 -87.17
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.InequalityOperatorBenchmark 3.19 0.41 -87.15
System.Runtime.Intrinsics.Tests.Perf_Vector128Int.AddBenchmark 21 2.71 -87.1
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.LessThanBenchmark 22.6 2.98 -86.81
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.EqualsBenchmark 6.17 0.82 -86.71
System.Runtime.Intrinsics.Tests.Perf_Vector128Int.UnaryNegateOperatorBenchmark 20.35 2.75 -86.49
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.AddOperatorBenchmark 20.85 2.84 -86.38
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.LessThanAllBenchmark 2.93 0.41 -86.01
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.EqualsStaticBenchmark 22.64 3.17 -86
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.SumBenchmark 2.9 0.42 -85.52
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.AddOperatorBenchmark 20.98 3.07 -85.37
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.EqualsBenchmark 5.89 0.89 -84.89
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.GreaterThanAnyBenchmark 3.2 0.53 -83.44
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.GreaterThanAnyBenchmark 3.27 0.56 -82.87
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.BitwiseAndOperatorBenchmark 10.94 2.25 -79.43
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.GreaterThanOrEqualBenchmark 15.03 3.11 -79.31
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.EqualsStaticBenchmark 14.49 3.04 -79.02
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.MaxBenchmark 14.73 3.1 -78.95
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.GreaterThanOrEqualBenchmark 13.44 2.95 -78.05
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.MultiplyBenchmark 12.8 2.87 -77.58
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.GreaterThanOrEqualBenchmark 13.45 3.02 -77.55
System.Runtime.Intrinsics.Tests.Perf_Vector128.FloorDoubleBenchmark 12.04 2.72 -77.41
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.LessThanOrEqualBenchmark 13.41 3.03 -77.4
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.SubtractBenchmark 12.4 2.81 -77.34
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.UnaryNegateOperatorBenchmark 11.93 2.78 -76.7
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.UnaryNegateOperatorBenchmark 11.9 2.81 -76.39
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.AddBenchmark 12.8 3.05 -76.17
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.LessThanOrEqualBenchmark 13.9 3.41 -75.47
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.AddBenchmark 12.59 3.1 -75.38
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.AddBenchmark 12.44 3.1 -75.08
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.AbsBenchmark 11.29 2.82 -75.02
System.Runtime.Intrinsics.Tests.Perf_Vector128Int.XorBenchmark 11.12 2.8 -74.82
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.SubtractBenchmark 12.59 3.18 -74.74
System.Runtime.Intrinsics.Tests.Perf_Vector128Float.AndNotBenchmark 11.14 2.83 -74.6
System.Runtime.Intrinsics.Tests.Perf_Vector128Int.BitwiseAndOperatorBenchmark 11.01 2.83 -74.3
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.AndNotBenchmark 10.92 2.81 -74.27
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.BitwiseAndOperatorBenchmark 10.87 2.82 -74.06
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.ConditionalSelectBenchmark 12.03 3.13 -73.98
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.ExclusiveOrOperatorBenchmark 10.99 2.89 -73.7
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.ConditionalSelectBenchmark 12.07 3.18 -73.65
System.Runtime.Intrinsics.Tests.Perf_Vector128Float.ExclusiveOrOperatorBenchmark 11.63 3.1 -73.34
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.AndNotBenchmark 11.07 3.04 -72.54
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.AndNotBenchmark 11.01 3.05 -72.3
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.BitwiseAndOperatorBenchmark 10.98 3.06 -72.13
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.XorBenchmark 10.87 3.04 -72.03
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.XorBenchmark 10.86 3.04 -72.01
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.XorBenchmark 10.89 3.1 -71.53
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.AndNotBenchmark 10.95 3.17 -71.05
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.BitwiseAndOperatorBenchmark 10.9 3.16 -71.01
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.XorBenchmark 10.87 3.16 -70.93
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.ExclusiveOrOperatorBenchmark 10.91 3.19 -70.76
System.IO.Tests.StringReaderReadToEndTests.ReadToEnd(LineLengthRange: [ 1, 8]) 138.96 50.75 -63.48
System.IO.Tests.StringReaderReadToEndTests.ReadToEnd(LineLengthRange: [ 9, 32]) 136.74 50.4 -63.14
System.Collections.TryGetValueFalse<Int32, Int32>.FrozenDictionary(Size: 512) 10605.65 4494.55 -57.62
System.Reflection.Invoke.Property_Set_class 304.01 153.83 -49.4
System.Threading.Tests.Perf_CancellationToken.CreateLinkedTokenSource1 181.74 93.54 -48.53
Exceptions.Handling.CatchAndThrowOtherDeep(kind: Software) 30045.73 16013.38 -46.7
System.Collections.CtorFromCollection<Int32>.FrozenDictionaryOptimized(Size: 512) 93350.63 50683.63 -45.71
System.Memory.ReadOnlyMemory<Byte>.Pin(Size: 512) 190.27 103.68 -45.51
System.Reflection.Invoke.Property_Set_int 296.31 164.67 -44.43
Exceptions.Handling.ThrowAndCatch(kind: Software) 2825.03 1578.24 -44.13
System.Tests.Perf_Array.ArrayAssign3D 15125405.33 8477023.28 -43.96
System.Numerics.Tests.Perf_BigInteger.Subtract(arguments: 16,16 bits) 31.39 17.61 -43.9
Exceptions.Handling.ThrowAndCatchFinally(kind: Software) 2824.36 1594.45 -43.55
Exceptions.Handling.TryAndFinallyDeep(kind: Software) 10139.17 6167.95 -39.17
System.Threading.Tests.Perf_Timer.LongScheduleAndDispose 476.55 292.64 -38.59
PerfLabTests.CastingPerf.AssignArrayElementByVariance 213.56 132.06 -38.16
System.Tests.Perf_Enum.GetValues_Generic 1817.58 1125.43 -38.08
System.Collections.CtorFromCollectionNonGeneric<Int32>.Stack(Size: 512) 102328.3 64125.31 -37.33
Exceptions.Handling.ThrowAndCatch(kind: ReflectionSoftware) 9369.86 5909.05 -36.94
System.Threading.Tests.Perf_EventWaitHandle.Set_Reset 264.98 175.21 -33.88
System.Threading.Tests.Perf_CancellationToken.CreateLinkedTokenSource3 284.12 191.64 -32.55
Exceptions.Handling.ThrowAndCatchDeepRecursive(kind: ReflectionHardware) 19588.37 13241.34 -32.4
System.Reflection.Attributes.GetCustomAttributesMethodOverrideHit 1686.97 1148.26 -31.93
Exceptions.Handling.ThrowAndCatchDeep(kind: Hardware) 12504.53 8594.42 -31.27
Exceptions.Handling.ThrowAndCatch_ManyCatchBlocks(kind: ReflectionHardware) 13488.43 9297.79 -31.07
System.Collections.Concurrent.IsEmpty<Int32>.Stack(Size: 0) 0.34 0.24 -29.41
System.Xml.Linq.Perf_XName.CreateElement 151.64 109.4 -27.86
Span.IndexerBench.Ref(length: 1024) 1108.29 820.32 -25.98
System.Tests.Perf_String.Replace_Char(text: yfesgj0sg1ijslnjsb3uofdz3tbzf6ysgblu3at20nfab2wei1kxfbvsbpzwhanjczcqa2psra3aacxb67qnwbnfp2tok6v0a58l, oldChar: 'b', newChar: '+') 347.17 257.39 -25.86
System.Reflection.Attributes.GetCustomAttributesMethodOverrideMiss 1773.92 1358.04 -23.44
System.Memory.Span<Byte>.LastIndexOfAnyValues(Size: 512) 253.79 195.2 -23.09
System.Reflection.Attributes.IsDefinedMethodBaseHitInherit 650.27 502.85 -22.67
System.Xml.Linq.Perf_XElement.CreateElementsWithNamespace 401.32 320.54 -20.13
System.Numerics.Tests.Perf_VectorOf<Int32>.InequalityOperatorBenchmark 0.5 0.4 -20
System.Reflection.Attributes.IsDefinedClassHit 447.72 362.15 -19.11
System.Reflection.Invoke.StaticMethod5_ByRefParams_int_string_struct_class_bool 756.75 613.31 -18.95
System.Tests.Perf_Enum.InterpolateIntoStringBuilder_NonFlags(value: Saturday) 1049.86 852.74 -18.78
System.Reflection.Attributes.GetCustomAttributesClassMissInherit 3402.29 2781.1 -18.26
System.Collections.Sort<IntStruct>.List(Size: 512) 19465.89 16107.49 -17.25
System.Text.RegularExpressions.Tests.Perf_Regex_Common.Ctor(Options: Compiled) 72073.45 59746.26 -17.1
System.Numerics.Tests.Perf_VectorOf<Byte>.SubtractBenchmark 3.11 2.62 -15.76
System.Tests.Perf_Enum.InterpolateIntoString(value: 32) 1036.12 875.46 -15.51
System.Numerics.Tests.Perf_VectorOf<Int16>.LessThanAnyBenchmark 2.15 1.82 -15.35
System.Collections.CreateAddAndClear<Int32>.List(Size: 512) 2561.19 2193.96 -14.34
System.Collections.CtorFromCollection<String>.Stack(Size: 512) 521.71 448.42 -14.05
System.Numerics.Tests.Perf_VectorOf<UInt32>.DivisionOperatorBenchmark 16.1 14.02 -12.92
PerfLabTests.LowLevelPerf.GenericGenericMethod 174401.16 152339.17 -12.65
System.Reflection.Invoke.Ctor0_ActivatorCreateInstance_NoParams 124.41 108.7 -12.63
System.Numerics.Tests.Perf_VectorOf<UInt16>.AbsBenchmark 3.81 3.33 -12.6
System.Numerics.Tests.Perf_VectorOf<UInt16>.XorBenchmark 3.13 2.74 -12.46
System.Numerics.Tests.Perf_VectorOf<Int64>.GreaterThanOrEqualAllBenchmark 2.36 2.07 -12.29
PerfLabTests.GetMember.GetField 3694839.28 3251814.88 -11.99
System.Numerics.Tests.Perf_VectorOf<UInt32>.SubtractBenchmark 3.13 2.76 -11.82
System.Numerics.Tests.Perf_VectorOf<UInt64>.GreaterThanAllBenchmark 2.72 2.4 -11.76
System.Linq.Tests.Perf_Enumerable.EmptyTakeSelectToArray 30.57 27.05 -11.51
StoreBlock.AnyLocation.CopyBlock16 1.13 1 -11.5
System.Numerics.Tests.Perf_VectorOf<Double>.UnaryNegateOperatorBenchmark 2.84 2.52 -11.27
System.Buffers.Text.Tests.Base64EncodeDecodeInPlaceTests.Base64DecodeInPlace(NumberOfBytes: 200000000) 222140428.54 198327109.86 -10.72
System.Collections.CtorFromCollectionNonGeneric<String>.ArrayList(Size: 512) 993.62 887.85 -10.64
System.Collections.IterateForEachNonGeneric<String>.Stack(Size: 512) 3047.65 2742.33 -10.02
System.Collections.TryGetValueTrue<Int32, Int32>.SortedList(Size: 512) 40917.35 36891.24 -9.84
System.Numerics.Tests.Perf_VectorOf<UInt64>.BitwiseAndOperatorBenchmark 3.17 2.87 -9.46
System.Collections.IterateForEach<String>.ImmutableArray(Size: 512) 1920.33 1739.57 -9.41
System.Collections.TryGetValueFalse<String, String>.ConcurrentDictionary(Size: 512) 13862.87 12560.99 -9.39
System.Numerics.Tests.Perf_VectorOf<SByte>.BitwiseOrOperatorBenchmark 2.88 2.61 -9.38
System.Tests.Perf_Uri.PathAndQuery 6.84 6.2 -9.36
GuardedDevirtualization.TwoClassVirtual.Call(testInput: pB = 0.70) 4.5 4.08 -9.33
System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.DotBenchmark 14.2 12.88 -9.3
System.Linq.Tests.Perf_Enumerable.SelectToArray(input: IList) 524.92 477.74 -8.99
System.Numerics.Tests.Perf_VectorOf<UInt16>.MinBenchmark 27.19 24.77 -8.9
GuardedDevirtualization.TwoClassVirtual.Call(testInput: pB = 0.00) 1.69 1.54 -8.88
GuardedDevirtualization.ThreeClassVirtual.Call(testInput: pB=0.33 pD=0.00) 4.99 4.55 -8.82
System.Numerics.Tests.Perf_VectorOf<Int16>.GreaterThanBenchmark 25.74 23.53 -8.59
System.Collections.CtorFromCollection<String>.ImmutableQueue(Size: 512) 6900.92 6311.06 -8.55
System.IO.Tests.StringReaderReadLineTests.ReadLine(LineLengthRange: [ 129, 1024]) 37927.65 34707.78 -8.49
System.Collections.CtorFromCollection<String>.Queue(Size: 512) 523.86 479.62 -8.45
System.Numerics.Tests.Perf_VectorOf<Double>.DivideBenchmark 2.86 2.62 -8.39
GuardedDevirtualization.ThreeClassInterface.Call(testInput: pB=0.00 pD=0.00) 1.68 1.54 -8.33
XmlDocumentTests.XmlNodeTests.Perf_XmlNode.GetAttributes 2.29 2.11 -7.86
System.Numerics.Tests.Perf_VectorOf<Int16>.AddOperatorBenchmark 3.11 2.87 -7.72
System.Numerics.Tests.Perf_VectorOf<Int32>.ExclusiveOrOperatorBenchmark 2.8 2.59 -7.5
System.Linq.Tests.Perf_Enumerable.Distinct(input: IEnumerable) 4067.32 3765.92 -7.41
Microsoft.Extensions.Logging.ScopesOverheadBenchmark.FilteredByLevel(HasISupportLoggingScopeLogger: True, CaptureScopes: True) 10.02 9.3 -7.19
System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>.K_Max_Elements(Size: 100) 1453.26 1350.38 -7.08
Microsoft.Extensions.Logging.LoggingOverhead.NoArguments_DefineMessage_FilteredByLevel 10.47 9.73 -7.07
System.Linq.Tests.Perf_Enumerable.Aggregate_Seed(input: IEnumerable) 697.36 648.97 -6.94
System.MathBenchmarks.Single.LogP1 52250.09 48645.44 -6.9
System.Linq.Tests.Perf_Enumerable.WhereAny_LastElementMatches(input: List) 559.77 521.72 -6.8
System.Net.Primitives.Tests.CredentialCacheTests.GetCredential_HostPort(host: notfound, hostPortCount: 0) 41.9 39.07 -6.75
System.Text.RegularExpressions.Tests.Perf_Regex_Common.IP_IsNotMatch(Options: None) 1222.22 1140.58 -6.68
System.Collections.IterateForEachNonGeneric<Int32>.Queue(Size: 512) 4125.96 3852.93 -6.62
System.MathBenchmarks.Double.Cos 75351.52 70427.23 -6.54
System.Collections.CtorDefaultSize<String>.ConcurrentStack 8.5 7.98 -6.12
System.Numerics.Tests.Perf_VectorOf<Byte>.EqualsAnyBenchmark 24.86 23.38 -5.95
System.Buffers.Text.Tests.Utf8FormatterTests.FormatterUInt64(value: 12345) 50.16 47.21 -5.88
ByteMark.BenchAssignJagged 1597136387 1505789545 -5.72
Struct.SpanWrapper.WrapperSum 19230.42 18186.31 -5.43
System.Tests.Perf_Guid.ParseExactD 246.46 233.11 -5.42
System.Tests.Perf_Int64.TryParseSpan(value: 9223372036854775807) 86.93 82.27 -5.36
System.Collections.CtorGivenSize<String>.SortedList(Size: 512) 570.12 540.16 -5.26
System.Numerics.Tests.Perf_VectorOf<Byte>.OneBenchmark 2.72 2.58 -5.15
System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(System.ComponentModel.Tests.ClassWithNoConverter)) 254.51 241.62 -5.06

Intrinsified Vector128 API's on Amd64 in #86272 improved about 100 microbenchmarks. Significantly improved performance are noticed in System.Threading and Exceptions.Handling microbenchmarks. Faster optimized creation of FrozenDirectory in #88093 improved a couple of microbemchmarks more than 50%. There are a number of microbenchmarks that have improved for up to 20%.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Codegen-meta-mono tenet-performance Performance related issue tracking This issue is tracking the completion of other related issues.
Projects
None yet
Development

No branches or pull requests

1 participant