在网络编程中,需要对数据进行序列化发送,那么如何能更快的序列化呢,IP部分
测试
C#
[MemoryDiagnoser]public partial class Test{ [GlobalSetup] public void Startup() { } byte[] arr = new byte[8]; [Benchmark] public void CopyTo() { for (int i = 0; i < 100; i++) IPAddress.Any.GetAddressBytes().CopyTo(arr, 0); } [Benchmark] public void TryWriteBytes() { for (int i = 0; i < 100; i++) IPAddress.Any.TryWriteBytes(arr,out int len); }}基准
C#
BenchmarkDotNet=v0.13.5, OS=Windows 10 (10.0.19045.3208/22H2/2022Update)AMD Ryzen 3 2200G with Radeon Vega Graphics, 1 CPU, 4 logical and 4 physical cores.NET SDK=7.0.100 [Host] : .NET 7.0.0 (7.0.22.51805), X64 RyuJIT AVX2 [AttachedDebugger] DefaultJob : .NET 7.0.0 (7.0.22.51805), X64 RyuJIT AVX2| Method | Mean | Error | StdDev | Gen0 | Allocated ||-------------- |-----------:|---------:|---------:|-------:|----------:|| CopyTo | 1,388.5 ns | 27.54 ns | 25.76 ns | 1.5297 | 3200 B || TryWriteBytes | 319.3 ns | 5.84 ns | 7.38 ns | - | - |

支付宝微信扫一扫,打赏作者吧~
