Tag: 红黑树

.Net 4中这种巨大的性能差异背后的原因是什么?

我刚刚在RedBlack Tree上做了一些研究。 我知道.Net 4.0中的SortedSet类使用RedBlack树。 所以我使用Reflector取出了那部分并创建了一个RedBlackTree类。 现在我在这个RedBlackTree和SortedSet上运行一些perf测试,插入40000个顺序积分值(从0到39999开始),我惊讶地发现有很大的性能差异如下: RBTree took 9.27208 sec to insert 40000 values SortedSet took 0.0253097 sec to insert 40000 values 它背后的原因是什么? 顺便说一句,我只在Release配置中运行测试,这里是一个小测试代码 var stopWatch = new Stopwatch(); var rbT = new RedBlackTree(); stopWatch = new Stopwatch(); stopWatch.Start(); for (int i = 0; i < 40000; i++) { rbT.Add(i); } stopWatch.Stop(); Console.WriteLine(stopWatch.Elapsed); var ss […]