Tôi có hai tập hợp lớn (như trong hàng triệu mục nhập) (HashSet) có một số (< 10%) chồng lên nhau giữa chúng. Tôi cần phải hợp nhất chúng thành một bộ (tôi không quan tâm đến việc duy trì các bộ gốc).Hợp nhất các tập khổng lồ (HashSet) trong Scala
Hiện nay, tôi đang bổ sung thêm tất cả các mục của một bộ để người kia với:
setOne ++= setTwo
này phải mất vài phút để hoàn thành (sau nhiều nỗ lực hashCode chỉnh() trên các thành viên).
Bất kỳ ý tưởng nào về cách tăng tốc mọi thứ?
Đây là các tập hợp có thể thay đổi, đúng không? –
Bạn sẽ làm gì với tập hợp đã hợp nhất sau đó? Hoạt động gì và bao nhiêu? (Tôi nghĩ rằng bạn có thể có một cách tiếp cận lười biếng và không bận tâm sáp nhập các bộ ở tất cả nếu có một số ít những điều bạn sẽ làm gì với nó - chỉ cần làm op trên một hoặc cả hai bộ như là thích hợp) –
Bạn có biết nếu hiệu suất bị ảnh hưởng bởi kích thước bộ nhớ heap? Đôi khi khi JVM hết heap, hiệu năng bị suy giảm khi bộ thu gom rác dành toàn bộ thời gian để lấy lại bộ nhớ. – huynhjl