2 पॉइंट द्वारा GN⁺ 2023-07-18 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Go के लिए coroutine package की ज़रूरत और उसके रूप पर चर्चा करने वाला लेख
  • coroutine एक concurrency pattern है जो अलग-अलग stack पर एक साथ चलती है और shared data तथा explicit synchronization points को संभव बनाती है
  • लेख में Lua और Python में coroutine के उदाहरण दिए गए हैं और दोनों भाषाओं के बीच के अंतर को रेखांकित किया गया है
  • coroutine, thread और generator की तुलना करते हुए, coroutine parallelism के बिना concurrency प्रदान करती है
  • लेख Go में coroutine के उपयोग के मामलों की पड़ताल करता है, जैसे coroutine का उपयोग करके generic collection iteration
  • channel और goroutine का उपयोग करके Go में coroutine का एक सरल implementation प्रस्तुत किया गया है
  • string parser और prime sieve सहित coroutine उपयोग के उदाहरण दिए गए हैं
  • लेख Go runtime में optimized coroutine implementation की संभावना पर चर्चा के साथ समाप्त होता है
  • coroutine का उपयोग एक साथ चलने वाले non-parallel control flow बनाने के लिए किया जाता है
  • लेख coroutine और goroutine के बीच का अंतर समझाता है
  • coroutine का उपयोग data processing के लिए pipeline और filter बनाने में किया जा सकता है
  • coroutine का उपयोग करके prime sieve implementation का उदाहरण दिया गया है
  • लेख panic handling और cancellation जैसी coroutine improvements पर चर्चा करता है
  • उदाहरणों के माध्यम से दिखाया गया है कि coroutine कैसे code को सरल बनाती है और व्यवस्थित करना आसान करती है
  • लेख Go programming language में coroutine implementation पर चर्चा करता है
  • coroutine ऐसे lightweight thread हैं जिन्हें pause और resume किया जा सकता है
  • coroutine API में New, resume, cancel और yield जैसे functions शामिल हैं
  • coroutine का उपयोग parallelism जोड़े बिना नई concurrency बनाने के लिए किया जा सकता है
  • coroutine की efficiency को विभिन्न implementations के माध्यम से optimize किया गया है
  • channel-based implementation में प्रति switch लगभग 190ns लगते हैं
  • compiler-based implementation switch time को घटाकर प्रति switch 118ns कर देता है
  • सबसे efficient implementation direct coroutine switch का उपयोग करता है, जिसमें प्रति switch 20ns लगते हैं
  • लेख performance के लिए coroutine optimization के महत्व पर ज़ोर देता है
  • coroutine दोहराए जाने वाले values को क्रमिक रूप से process करने में उपयोगी हैं
  • Go में coroutine implementation developers को एक शक्तिशाली tool प्रदान करती है

1 टिप्पणियां

 
GN⁺ 2023-07-18
Hacker News की राय
  • Go में function iterators के उपयोग के मामलों और उन्हें for loop में इस्तेमाल करने के लिए कैसे लिखा जाए, इस पर चर्चा की गई है।
  • कुछ टिप्पणीकार प्रस्तावित समाधान की जटिलता और readability को लेकर चिंता जताते हैं।
  • दूसरे लोग तर्क देते हैं कि coroutine library नहीं, बल्कि language feature होना चाहिए।
  • coroutine और green threads के बीच अंतर, तथा दोनों के फायदे और नुकसान पर चर्चा है।
  • कुछ टिप्पणीकार सवाल उठाते हैं कि क्या Go में coroutine की ज़रूरत है, और कहते हैं कि goroutines और blocking channels ही पर्याप्त हैं।
  • लेख में Go में Set जैसी सामान्य data structures जोड़ने की संभावना का भी उल्लेख है, जिन्हें iterators से लाभ मिल सकता है।
  • इस लेख का मुख्य बिंदु यह जानना है कि क्या नए language constructs जोड़े बिना Go में coroutine को कुशलतापूर्वक लागू किया जा सकता है।