-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Processing dotnet/runtime#121479 (comment) command:
Command
-amd -intel -arm
using System;
using System.Collections.Generic;
using System.Globalization;
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Running;
BenchmarkSwitcher.FromAssembly(typeof(DateTimeParsingBenchmarks).Assembly).Run(args);
public class DateTimeParsingBenchmarks
{
public static IEnumerable<object[]> TestData()
{
yield return ["2025-11-10", "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None];
yield return ["10/11/2025 14:37:05", "dd/MM/yyyy HH:mm:ss", new CultureInfo("en-GB"), DateTimeStyles.None];
yield return ["11/10/2025 2:37:05 PM", "M/d/yyyy h:mm:ss tt", new CultureInfo("en-US"), DateTimeStyles.AssumeLocal];
yield return ["Mon, 10 Nov 2025 14:37:05 GMT", "ddd, dd MMM yyyy HH':'mm':'ss 'GMT'", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeUniversal];
yield return ["2025-11-10T14:37:05+01:00", "yyyy'-'MM'-'dd'T'HH':'mm':'ssK", CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind];
}
[Benchmark]
[ArgumentsSource(nameof(TestData))]
public DateTime TryParseExact_WithCases(string text, string format, CultureInfo culture, DateTimeStyles styles)
=> DateTime.TryParseExact(text, format, culture, styles, out var dt) ? dt : default;
}(EgorBot will reply in this issue)
Metadata
Metadata
Assignees
Labels
No labels