मैं structs के वेक्टर पर पुनरावृत्ति कर रहा हूं और प्रत्येक संरचना को व्यक्तिगत रूप से संसाधित कर रहा हूं।लूप/for_each के लिए प्रत्येक इटरेशन समानांतर में किया जा सकता है? (सी ++ 11)
for_each(begin(data),end(data),DoTask);
//assume "data" is std::vector<DataT>
//assume DoTask is a function that takes a DataT by reference
कोड काफी धीमी क्योंकि DoTask विशेष वेबसाइटों को जोड़ता है और एचटीएमएल का विश्लेषण करती है है:
वह कुछ इस तरह लग रहा है।
इसे गति देने का सबसे अच्छा तरीका क्या होगा?
मेरा लक्ष्य एक साथ कई डेटाटी का विश्लेषण करना है।
मैं थ्रेडिंग के लिए बहुत नया हूं, लेकिन std::async और std::future आशाजनक लग रहा है।
-1 उदाहरण पूरी तरह से तुल्यकालिक होगा क्योंकि 'std :: async' से बनाए गए 'std :: भविष्य' के विनाशक के रूप में यह कोई वर्कस्टाइलिंग आदि प्रदान नहीं करेगा। वास्तव में समवर्ती पुस्तकालय के साथ जाना चाहिए। – inf
@ बांसबोन आप सही हैं, मैं 'भविष्य के, अच्छे बिंदु के विनाशकों के बावजूद नहीं था। जब मैंने यह उत्तर लिखा था तो थ्रेडिंग लाइब्रेरी की मेरी समझ में वायदा शामिल नहीं था। मैंने इसे सही करने के लिए संशोधित किया है, मुझे लगता है। और ओपी को वर्कस्टाइलिंग की आवश्यकता नहीं थी। –