我正在创建一个用于性能测试的库。在其中我生成了Dictionary<Type, X>
一次。这些项目当前以随机顺序插入。字典在应用程序生命周期内保持不变。
然后它经常用于查找项目。查找是库中较大的瓶颈之一。
是的,我在微优化,但要学习。我想知道是否有更好的方法来获得查找性能?
更新
我使用 dotTrace 来衡量性能。报告 + dotTrace 在我的家用电脑中,所以我这里没有报告(本来可以在其他地方上传)。
我使用了这里找到的测试: https ://github.com/danielpalme/IocPerformance
字典定义在这里找到:https ://github.com/jgauffin/Griffin.Container/blob/master/Source/Griffin.Container/ContainerBase.cs
(我上周五创建了容器,不要期望太多)
更新2
Dictionary.TryGetValue
Resolve
如果我正确解释了数字,则总共需要 101 毫秒(总共 251 毫秒),即 40.2%。