-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Processing dotnet/runtime#121225 (comment) command:
Command
-amd -arm -windows_intel
using System;
using System.Net;
using BenchmarkDotNet.Attributes;
public class IPAddressParsingBenchmarks
{
public IEnumerable<string> Ipv4_u16() => [
"127.0.0.1",
"192.168.0.1",
"8.8.8.8",
"255.255.255.255" ];
public IEnumerable<byte[]> Ipv4_u8() => [
"127.0.0.1"u8.ToArray(),
"192.168.0.1"u8.ToArray(),
"8.8.8.8"u8.ToArray(),
"255.255.255.255"u8.ToArray()
];
[Benchmark, ArgumentsSource(nameof(Ipv4_u16))]
public IPAddress Parse_IPv4_u16(string ip) => IPAddress.Parse(ip);
[Benchmark, ArgumentsSource(nameof(Ipv4_u8))]
public IPAddress Parse_IPv4_u8(byte[] ip) => IPAddress.Parse(ip);
public IEnumerable<string> Ipv6_u16() => [
"::1",
"2001:db8::1",
"fe80::1ff:fe23:4567:890a",
"2001:4860:4860::8888" ];
public IEnumerable<byte[]> Ipv6_u8() => [
"::1"u8.ToArray(),
"2001:db8::1"u8.ToArray(),
"fe80::1ff:fe23:4567:890a"u8.ToArray(),
"2001:4860:4860::8888"u8.ToArray()
];
[Benchmark, ArgumentsSource(nameof(Ipv6_u16))]
public IPAddress Parse_IPv6_u16(string ip) => IPAddress.Parse(ip);
[Benchmark, ArgumentsSource(nameof(Ipv6_u8))]
public IPAddress Parse_IPv6_u8(byte[] ip) => IPAddress.Parse(ip);
}(EgorBot will reply in this issue)
Metadata
Metadata
Assignees
Labels
No labels