.NET 9中ToList 和 ToArray 之间的性能比较
💡
原文中文,约7600字,阅读约需18分钟。
📝
内容提要
作者比较了.NET 8和.NET 9在创建不会变异的短期集合时的性能,结果显示.NET 9更快、内存效率更高。使用.NET 8作为基线,.NET 9的ToArray方法平均速度提高了30%,内存减少了55%;ToList方法平均快15%,内存占用相同。作者建议在内存中创建临时集合时使用.NET 9。
🎯
关键要点
- .NET 9在创建不会变异的短期集合时性能更快、内存效率更高。
- .NET 9的ToArray方法平均速度提高了30%,内存减少了55%。
- .NET 9的ToList方法平均速度快15%,内存占用相同。
- 测试使用了.NET Framework 4.8、.NET 7和.NET 8,结果显示.NET 8在非常大的集合中速度更快,但内存占用更多。
- 作者建议在内存中创建临时集合时使用.NET 9。
- 性能测试使用BenchmarkDotNet进行,测试环境为Windows 11和AMD Ryzen 7 3700X。
- 在比较.NET 9与.NET 8的性能时,.NET 9在所有集合大小下都表现更好。
- 结论是,在需要创建临时集合以防止多个枚举时,使用.NET 9的性能更高。
➡️