在我正在处理的应用程序中,最耗时的函数之一是put()
中的TreeMap
操作(约占运行时的30%)。
这些对put()
的调用通常是从另一个函数顺序调用的,因此put()
函数调用将使用有序键。这当然会导致RB-Tree中的大量重新平衡,这有助于运行时。
有没有(简单)方法来加速我的申请?
答案 0 :(得分:0)
首次尝试优化应该是切换到ConcurrentSkipListMap。虽然这可能没有什么区别,甚至可能会让事情变得更慢,但它应该值得尝试,因为它是唯一实现'SortedMap'的其他'Map'(可能是使用'TreeMap'的原因。
之后,您正在寻找一种特殊的“地图”自定义实现,可以更快地添加已排序的新条目。