我有一個最小的項目,它用C#和Go編寫了100,000次,反序列化json。性能差異很大。雖然很高興知道使用 Go 可以實現(xiàn)性能目標,但我更愿意在 C# 中實現(xiàn)可比較的結(jié)果。鑒于C#慢了193倍,我認為錯誤在我這邊,但我不知道為什么。性能$ dotnet run .real 1m37.555suser 1m39.552ssys 0m0.729s$ ./jsonperfreal 0m0.478suser 0m0.500ssys 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"); } }}
1 回答

犯罪嫌疑人X
TA貢獻2080條經(jīng)驗 獲得超4個贊
這需要這么長時間的原因是,您每次都會初始化一個新對象。JsonSerializerOptions
初始化序列化程序一次 &您將看到巨大的性能改進(對我來說是70%以上)。
- 1 回答
- 0 關注
- 110 瀏覽
添加回答
舉報
0/150
提交
取消