コードのプロファイリングを行ったところ、 を実装するクラスがComparable<T>
8 倍の CPU 時間を消費していることがわかりました。
compareTo(Object)
よりも
compareTo(T)
スローダウンは、このメソッドの仮想テーブル ルックアップが原因であると想定しています。
関数の静的呼び出しを強制する方法はありますか? (非仮想 C++ メソッドと同様)
このオブジェクトで
Comparable<T>
使用するため、インターフェイスを引き続き使用したいので、このコードを書き直したくありません。編集:いいえ、私はcompareTo(Object)
を実装しませんでした-これは自動的に生成され、プロファイラーによって報告されましたTreeSet