सबसे पहले मुझे लगता है कि प्रत्येक संग्रह वर्ग को अतिरिक्त par
विधि प्राप्त होगी जो संग्रह को एक समान समांतर डेटा संरचना में परिवर्तित कर देगा (जैसे map
स्कैला 2.8 में तत्व प्रकार के लिए सबसे अच्छा संग्रह देता है)।स्कैला में समांतर संग्रहों का उपयोग करने में पसंदीदा तरीका क्या है?
अब ऐसा लगता है कि कुछ संग्रह कक्षाएं एक par
विधि (ई। जी। सरणी) का समर्थन लेकिन दूसरों toParSeq
, toParIterable
तरीकों (ई। जी। सूची) है। यह थोड़ा अजीब है, क्योंकि ऐरे का उपयोग नहीं किया जाता है या अक्सर इसकी सिफारिश की जाती है।
इसका कारण क्या है? क्या "सही चीज़" करने वाले सभी संग्रह वर्गों पर par
उपलब्ध होना बेहतर नहीं होगा?
यदि मेरे पास डेटा समानांतर में संसाधित किया जा सकता है, तो मुझे किस प्रकार का उपयोग करना चाहिए? scala.collection
या सीधे कार्यान्वयन के प्रकार में लक्षण?
या मुझे अब Arrays
पसंद करना चाहिए, क्योंकि वे समानांतर होने के लिए सस्ता लगते हैं?
ऐसा लगता है कि 'SeqLike' पर केवल' .sorted' है, इसलिए आपको केवल 'item.sorted' के बजाय 'items.toSeq.sorted' करना होगा। तो क्यों 'आइटम्स' समानांतर नहीं होने पर लोगों को 'item.toArray.par' करने के बजाय लोगों को कहने के बजाय सभी' .toParIterable' आदि विधियां क्यों हैं? – Steve
@ स्टेव - कुछ मौका है कि 'toParIterable' विधियों को अंतर्निहित डेटा की एक प्रति बनाने की आवश्यकता नहीं है। इसलिए वे धीमे होने के बावजूद, वे कभी-कभी एक अच्छा समझौता कर सकते हैं (उदाहरण के लिए जब सूची का पता लगाना या सूची के प्रत्येक तत्व पर गणना के मुकाबले तेज़ नहीं है)। –