У меня есть куча Thingy
объектов, которые я отслеживаю с использованием идентификационных номеров long
. Поскольку у меня нет гарантий относительно последовательности ID, я держу их в HashMap<Long, Thingy>
для произвольного доступа. Тем не менее, в Android у них есть этот очень классный класс SparseArray
, который, по их утверждению, быстрее, чем у моего HashMap
за то, как я его использую. Возможно, наиболее заметно, что у него нет налога на аутобоксинг. К сожалению, эти ключи являются int
, а не long
.Является ли литье долго int int дешевле, чем autoboxing долго Long?
Значения моих идентификаторов long
таковы, что я не беспокоюсь о переполнении диапазона int
в любое время в этом столетии. Это отливка от long
до int
plus SparseArray
Оптимизация будет дешевле, чем автооблок long
до Long
для моих HashMap
операций? Моя интуиция говорит «да», но мне хотелось бы получить дополнительную информацию.
Это было задано здесь. См. Http://stackoverflow.com/questions/3430671/performance-impact-of-autoboxing – TechTrip