Я профилировал свой код и обнаружил, что мой класс, реализующий Comparable<T>
, тратит в 8 раз больше времени процессора в
compareTo(Object)
чем в
compareTo(T)
Я предполагаю, что замедление происходит из-за поиска этого метода в виртуальной таблице.
Есть ли способ принудительно вызвать статический вызов функции? (например, в невиртуальных методах C ++)
Я все еще хочу использовать интерфейс Comparable<T>
, поскольку я использую TreeSet
с этим объектом, и я не хочу переписывать этот код.
РЕДАКТИРОВАТЬ: Нет, я не реализовал compareTo (Object) - это было автоматически сгенерировано и сообщено профилировщиком