我有一个最小的项目,它用C#和Go编写了100,000次,反序列化json。性能差异很大。虽然很高兴知道使用 Go 可以实现性能目标,但我更愿意在 C# 中实现可比较的结果。鉴于C#慢了193倍,我认为错误在我这边,但我不知道为什么。
性能
$ dotnet run .
real 1m37.555s
user 1m39.552s
sys 0m0.729s
$ ./jsonperf
real 0m0.478s
user 0m0.500s
sys 0m0.011s
源代码 C#
using System;
namespace jsonperf
{
class Program
{
static void Main(string[] args)
{
var json = "{\"e\":\"trade\",\"E\":1633046399882,\"s\":\"BTCBUSD\",\"t\":243216662,\"p\":\"43818.22000000\",\"q\":\"0.00452000\",\"b\":3422298876,\"a\":3422298789,\"T\":1633046399882,\"m\":false,\"M\":true}";
for (int i = 0; i < 100000; i++)
{
if (0 == i % 1000)
{
Console.WriteLine($"Completed: {i}");
}
var obj = BinanceTradeUpdate.FromJson(json);
}
Console.WriteLine("Done");
}
}
}
犯罪嫌疑人X
相关分类