一个功能更强大,性能更高的树控件DevComponents.AdvTree.AdvTree
一直在用DevComponents.DotNetBar2 控件
近来探索Add()和AddRange()的性能问题。
一样用极为不专业不科学的方法,
比较DevComponents.AdvTree.AdvTree 的Add()和AddRange()的性能
分别测试1000个节点,5000个节点,10000个节点。
上面所取的花费时间 都是多次测试后,取最快的时间。
结果比较:
.net自带的树控件TreeView 性能比较
.net自带的树控件ListBox 性能比较
比较后,DevComponents.AdvTree.AdvTree 的Add()和AddRange()的性能
要比TreeView和ListBox 都要高出很多。
但是DevComponents.AdvTree.AdvTree 有个很耗时的地方。
就是单个移除节点。Nodes.RemoveAt()和Nodes.Remove();
Nodes.Clear()是清除所有节点。速度很快。
但是单个的Remove()节点,速度却相当慢。。
近来探索Add()和AddRange()的性能问题。
一样用极为不专业不科学的方法,
比较DevComponents.AdvTree.AdvTree 的Add()和AddRange()的性能
Code
分别测试1000个节点,5000个节点,10000个节点。
上面所取的花费时间 都是多次测试后,取最快的时间。
结果比较:
.net自带的树控件TreeView 性能比较
.net自带的树控件ListBox 性能比较
比较后,DevComponents.AdvTree.AdvTree 的Add()和AddRange()的性能
要比TreeView和ListBox 都要高出很多。
但是DevComponents.AdvTree.AdvTree 有个很耗时的地方。
就是单个移除节点。Nodes.RemoveAt()和Nodes.Remove();
Nodes.Clear()是清除所有节点。速度很快。
但是单个的Remove()节点,速度却相当慢。。