Если ваша someObject
имеет медленную реализацию equals()
или hashCode()
или дает один и тот же хэш-код для многих объектов, то это может объяснить задержку, и вы сможете ее улучшить.
В противном случае, если объекты большие, задержка может быть в основном связана с объемом памяти, который должен быть доступен для хранения их всех;если это так, это цена, которую вам придется заплатить, если вы хотите набор со всеми этими объектами в памяти.
Sequence.toSet()
использует LinkedHashSet
.Вы можете попробовать предоставить другой экземпляр Set
, например, toCollection(HashSet())
, чтобы проверить, не быстрее ли это.(Однако вы не получите тот же порядок итераций.)