- 
                Notifications
    You must be signed in to change notification settings 
- Fork 1
Open
Description
Processing dotnet/runtime#121102 (comment) command:
Command
-intel -arm
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Running;
public class Benchmarks
{
    static void Main(string[] args)
    {
        BenchmarkSwitcher.FromAssembly(typeof(Benchmarks).Assembly).Run(args);
    }
    public static IEnumerable<object> TestData()
    {
        yield return new object[] { @"C:\a", @"C:\a\b" };
        yield return new object[] { @"C:\a\", @"C:\a\b\c" };
        yield return new object[] {
            @"C:\projects\runtime\src\libraries",
            @"C:\projects\runtime\src\libraries\System.Text.Json\tests"
        };
        yield return new object[] {
            @"C:\a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p",
            @"C:\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"
        };
        yield return new object[] {
            @"C:\projects\runtime-main2\src\libraries\Microsoft.Extensions.DependencyInjection.Specification.Tests\src\Fakes",
            @"C:\projects\runtime-main2\src\libraries\Microsoft.Extensions.DependencyInjection.Specification.Tests\src\"
        };
        yield return new object[] { @"C:\foo\bar", @"D:\foo\bar" };
        yield return new object[] { @"C:\foo\bar\baz", @"C:\foo\bar\..\qux\." };
        yield return new object[] { @"\\server\share\folder1", @"\\server\share\folder1\folder2\folder3" };
        yield return new object[] {
            @"C:\Program Files\MyApp",
            @"C:\Program Files\MyApp\bin\Debug\net8.0"
        };
    }
    [Benchmark]
    [ArgumentsSource(nameof(TestData))]
    public string GetFoo(string relativeTo, string path) => 
        Path.GetRelativePath(relativeTo, path);
}(EgorBot will reply in this issue)
Metadata
Metadata
Assignees
Labels
No labels