dotnet C# 链表和字典的性能对比

本文对比了.NET Core 3.1中LinkedList和Dictionary在元素增删操作时的性能,通过基准测试显示,字典在大多数情况下性能优于链表,特别是在涉及删除操作时。测试源于WPF框架的性能优化需求,但结果可能不适用于所有业务场景。
摘要由CSDN通过智能技术生成

本文来告诉大家我实际使用基准测试的在 .NET Core 3.1 的链表 LinkedList 和 Dictionary 字典的在元素增删的性能对比

从算法分析上,其实字典和链表在时间上的性能是差不多的,甚至可以认为字典的速度会比链表更高。但是从空间上,如果一边增加元素一边删除元素那还是链表省空间。同时在字典空间满了之后,修改字典容量会比链表使用更多的时间

以下是我用不够严谨的基准性能测试的数据

下面是对比一边加入元素一边删除元素的性能

Method Mean Error StdDev Ratio RatioSD
'LinkedList' 2,424.9 us 28.53 us 23.83 us ? ?
'Dictionary' 686.0 us 5.61 us 4.97 us 1.00 0.00

下面是将元素完全加入之后再删除全部删除的性能对比

Method Mean Error StdDev Ratio RatioSD
'LinkedList' 2.582 ms 0.0303 ms 0.0253 ms ? ?
'Dictionary' 1.366 ms 0.0192 ms 0.0170 ms</
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值