Комментарии 7
Спасибо автору за интересную статью! раньше даже не знал, что существует отдельная библиотека для оптимизированных коллекций. Возник вопроc: если ли смысл использовать эти коллекции повсеместно, где это возможно, и будет ли от этого ощутимая разница в производительности?
Если это классическая прилка в стиле "получить список данных из инета, пропустить его через всякие фильтры и тд, а затем отобразить" наверно особо нет, но для сложных алгоритмов где колоссальное количество коллекций есть: это сократит в десятки раз обьем используемой ОЗУ
Насчет десятков раз можно поподробнее? Что-то я сомневаюсь.
Сравнение простое:
1) HashSet и HashMap создают минимум в два раза больше обьектов чем ScatterSet и ScatterMap, так как ключ и значение содержится в Map.Entry, а это дополнительный обьект
2) HashMap<String, Float> создаст еще и обертку над примитивным типом в отличии от objectFloatMapOf()
3) Отсюда следует, что при большом количестве коллекций, особенно если это примитивные, можно достигнуть сокращение памяти в десятки раз
P.S. Согласен, что надо бы сделать замеры, чтобы наверняка быть уверенным, возможно добавлю...
Интересно, но жаль, что нет тестов или просто выводов из других источников по памяти/времени - насколько эти коллекции лучше стандартных.
Новые коллекции в Android