हैश ऐरे मैप्ड ट्रिए: Difference between revisions

From Vigyanwiki
(Created page with "{{Technical|date=October 2019}} एक हैश सरणी मैप किया गया प्रयास<ref name="bagwell" />(एचएएमटी) एक सा...")
 
No edit summary
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Technical|date=October 2019}}
'''हैश ऐरे मैप्ड ट्रिए''' <ref name="bagwell" /> (एचएएमटी) एक [[साहचर्य सरणी|अस्सोसिएटिवे ऐरे]] का इम्प्लीमेंटेशन है जो [[ हैश तालिका |हैश टेबल]] और [[सरणी मैप किया गया प्रयास|हैश ऐरे मैप्ड ट्रिए]] की विशेषताओं को जोड़ता है। <ref name="bagwell">{{cite report
एक हैश सरणी मैप किया गया प्रयास<ref name="bagwell" />(एचएएमटी) एक [[साहचर्य सरणी]] का कार्यान्वयन है जो [[ हैश तालिका ]] और [[सरणी मैप किया गया प्रयास]] की विशेषताओं को जोड़ता है।<ref name="bagwell">{{cite report
|title=Ideal Hash Trees
|title=Ideal Hash Trees
|author=Phil Bagwell
|author=Phil Bagwell
Line 7: Line 6:
|url=http://infoscience.epfl.ch/record/64398/files/idealhashtrees.pdf
|url=http://infoscience.epfl.ch/record/64398/files/idealhashtrees.pdf
|year=2000
|year=2000
}}</ref>
}}</ref> यह [[हैश ट्री (लगातार डेटा संरचना)|हैश ट्रिए (लगातार डेटा संरचना)]] की अधिक जनरल नोशन का एक रिफाइंड वरजन है।
यह [[हैश ट्री (लगातार डेटा संरचना)]] की अधिक सामान्य धारणा का एक परिष्कृत संस्करण है।


== ऑपरेशन ==
== संचालन ==
एचएएमटी एक सरणी मैप्ड ट्राइ है जहां चाबियों का समान वितरण और निरंतर कुंजी लंबाई सुनिश्चित करने के लिए चाबियों को पहले हैश किया जाता है।
एचएएमटी एक ऐरे मैप्ड ट्रिए है जहां कीज़ का समान वितरण और निरंतर कुंजी लंबाई सुनिश्चित करने के लिए कीज़ को पहले हैश किया जाता है।


एचएएमटी के एरे मैप्ड ट्राइ के एक विशिष्ट कार्यान्वयन में, प्रत्येक नोड में कुछ निश्चित संख्या एन स्लॉट के साथ एक तालिका होती है, जिसमें प्रत्येक स्लॉट में एक शून्य पॉइंटर या दूसरे नोड के लिए एक पॉइंटर होता है। एन आमतौर पर 32 है। चूंकि प्रत्येक नोड के लिए एन पॉइंटर्स के लिए स्थान आवंटित करना महंगा होगा, इसके बजाय प्रत्येक नोड में एक बिटमैप होता है जो एन बिट लंबा होता है जहां प्रत्येक बिट एक गैर-शून्य पॉइंटर की उपस्थिति को इंगित करता है। इसके बाद बिटमैप (इसका [[हथौड़ा चलाना वजन]]) में पॉइंटर्स की संख्या के बराबर लंबाई वाले पॉइंटर्स की एक सरणी होती है।
एचएएमटी के एरे मैप्ड ट्रिए के एक विशिष्ट कार्यान्वयन में, प्रत्येक बिंदु में कुछ निश्चित संख्या N स्लॉट के साथ एक टेबल होती है, जिसमें प्रत्येक स्लॉट में एक शून्य पॉइंटर या दूसरे बिंदु के लिए एक पॉइंटर होता है। N सामान्यतः 32 है। चूंकि प्रत्येक बिंदु के लिए N पॉइंटर के लिए स्थान आवंटित करना महंगा होगा, इसके स्थान पर प्रत्येक बिंदु में एक बिटमैप होता है जो N बिट लंबा होता है जहां प्रत्येक बिट एक गैर-शून्य पॉइंटर की उपस्थिति को इंडीकेट करता है। इसके बाद बिटमैप (इसका [[हथौड़ा चलाना वजन|हैमिंग भार]]) में पॉइंटर की संख्या के बराबर लंबाई वाले पॉइंटर की एक ऐरे होती है।


== एचएएमटी के लाभ ==
== एचएएमटी के लाभ ==
हैश ऐरे मैप्ड ट्राई मेमोरी का अधिक किफायती उपयोग करते हुए लगभग हैश टेबल जैसी गति प्राप्त करता है। साथ ही, हैश तालिका का समय-समय पर आकार बदलना पड़ सकता है, जो एक महंगा ऑपरेशन है, जबकि HAMT गतिशील रूप से बढ़ते हैं। आम तौर पर, एचएएमटी प्रदर्शन में कुछ एन स्लॉट्स के साथ एक बड़ी रूट टेबल द्वारा सुधार किया जाता है; कुछ एचएएमटी प्रकार जड़ को धीरे-धीरे बढ़ने देते हैं<ref name="bagwell" />प्रदर्शन पर नगण्य प्रभाव के साथ.
हैश ऐरे मैप्ड ट्राई मेमोरी का अधिक एकनॉमिकली उपयोग करते हुए लगभग हैश टेबल जैसी गति प्राप्त करता है। साथ ही, हैश टेबल का समय-समय पर आकार बदलना पड़ सकता है, जो एक महंगा संचालन है, जबकि एचएएमटी गतिशील रूप से बढ़ते हैं। सामान्यतः, एचएएमटी प्रदर्शन में कुछ एन स्लॉट के साथ एक बड़ी क्रम टेबल द्वारा सुधार किया जाता है; कुछ एचएएमटी प्रकार जड़ को प्रदर्शन पर नगण्य प्रभाव के साथ धीरे-धीरे बढ़ने देते हैं। <ref name="bagwell" />


== कार्यान्वयन विवरण ==
== कार्यान्वयन विवरण ==
एचएएमटी के कार्यान्वयन में हैमिंग वेट फ़ंक्शन का उपयोग शामिल है, जो किसी संख्या के बाइनरी प्रतिनिधित्व में इकाइयों की संख्या की गणना करता है। यह ऑपरेशन हैमिंग वेट#प्रोसेसर समर्थन में उपलब्ध है, लेकिन यह हैमिंग वेट#भाषा समर्थन|केवल कुछ उच्च-स्तरीय भाषाओं में उपलब्ध है। हालाँकि जनसंख्या गणना को हैमिंग वेट#कुशल कार्यान्वयन का उपयोग करके [[ बिग-ओ संकेतन ]]|ओ(1) समय में सॉफ़्टवेयर में लागू किया जा सकता है, ऐसा करने से ऑपरेशन परिमाण के क्रम में धीमा हो सकता है।{{citation needed|date=October 2016}}
एचएएमटी के कार्यान्वयन में हैमिंग भार फलन का उपयोग सम्मिलित है, जो किसी संख्या के बाइनरी रिप्रजेंटेशन में नंबर ऑफ़ वंस की गणना करता है। यह संचालन हैमिंग वेट समर्थन में उपलब्ध है, लेकिन यह हैमिंग वेट केवल कुछ उच्च-स्तरीय लैंग्वेजओं में उपलब्ध है। हालाँकि जनसंख्या गणना को हैमिंग वेट इम्प्लीमेंटेशन का उपयोग करके O(1) समय में सॉफ़्टवेयर में लागू किया जा सकता है, ऐसा करने से संचालन आर्डर ऑफ़ मैग्नीट्यूड में धीमा हो सकता है।


== कार्यान्वयन ==
== कार्यान्वयन ==
प्रोग्रामिंग भाषाएँ [[क्लोजर]],<ref>{{cite web|url=https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/PersistentHashMap.java|title=clojure/clojure|website=GitHub|date=8 December 2022 }}</ref> [[स्काला (प्रोग्रामिंग भाषा)]], और [[फ़्रीज (प्रोग्रामिंग भाषा)]]<ref>{{cite web|url=https://github.com/Frege/frege/blob/master/frege/data/HashMap.fr|title=Frege/frege|website=GitHub|date=7 December 2022 }}</ref> अपने मूल हैश मैप प्रकार के लिए हैश सरणी मैप किए गए प्रयासों के लगातार डेटा संरचना संस्करण का उपयोग करें। [[हास्केल (प्रोग्रामिंग भाषा)]] लाइब्रेरी अनऑर्डर्ड-कंटेनर लगातार मानचित्र को लागू करने और डेटा संरचनाओं को सेट करने के लिए इसका उपयोग करती है।<ref>Johan Tibell, A. [http://blog.johantibell.com/2012/03/announcing-unordered-containers-02.html Announcing unordered-containers 0.2]</ref> एक अन्य हास्केल लाइब्रेरी एसटीएम-कंटेनर [[सॉफ़्टवेयर ट्रांसेक्शनल मेमोरी]] के संदर्भ में उपयोग के लिए एल्गोरिदम को अनुकूलित करता है।<ref>Nikita Volkov, [https://nikita-volkov.github.io/stm-containers/ Announcing the "stm-containers" library], 2014</ref> एक [[जावास्क्रिप्ट]] एचएएमटी लाइब्रेरी <ref>{{cite web|url=https://github.com/mattbierner/hamt|title=mattbierner/hamt|website=GitHub|date=27 November 2022 }}</ref> क्लोजर कार्यान्वयन पर आधारित भी उपलब्ध है। [[ माणिक ]]<ref>{{cite web|url=https://github.com/rubinius/rubinius/blob/540a4b446991e4d5c956023d37ec4f95372d539d/kernel/common/hash_hamt.rb|title=रुबिनियस के HAMT की रूबी स्रोत फ़ाइल|website=[[GitHub]]|publisher=}}</ref> [[रूबी (प्रोग्रामिंग भाषा)]] के कार्यान्वयन में एक HAMT शामिल है, जो ज्यादातर रूबी में लिखा गया है लेकिन 3 के साथ<ref>https://github.com/rubinius/rubinius/blob/master/machine/builtin/system.cpp#L1724-L1802 {{Dead link|date=February 2022}}</ref> आदिम। एर्लैंग (प्रोग्रामिंग भाषा) में बड़े मानचित्र रिलीज़ 18.0 के बाद से आंतरिक रूप से एक पर्सिस्टेंट डेटा संरचना HAMT प्रतिनिधित्व का उपयोग करते हैं।<ref>{{Cite web | url=http://www.erlang.org/news/86 | title=Erlang Programming Language}}</ref> पोनी प्रोग्रामिंग भाषा अपने सतत संग्रह पैकेज में हैश मैप के लिए HAMT का उपयोग करती है।<ref>{{Cite web | url=https://github.com/ponylang/ponyc/blob/master/packages/collections/persistent/map.pony | title=horse: Pony is an open-source, actor-model, capabilities-secure, high performance programming language: Ponylang/ponyc| website=[[GitHub]]| date=2018-11-26}}</ref>
प्रोग्रामिंग लैंग्वेजएँ [[क्लोजर]], <ref>{{cite web|url=https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/PersistentHashMap.java|title=clojure/clojure|website=GitHub|date=8 December 2022 }}</ref> [[स्काला (प्रोग्रामिंग भाषा)|स्काला (प्रोग्रामिंग लैंग्वेज)]], और [[फ़्रीज (प्रोग्रामिंग भाषा)|फ़्रीज (प्रोग्रामिंग लैंग्वेज)]] <ref>{{cite web|url=https://github.com/Frege/frege/blob/master/frege/data/HashMap.fr|title=Frege/frege|website=GitHub|date=7 December 2022 }}</ref> अपने मूल हैश मैप्ड प्रकार के लिए हैश ऐरे मैप्ड किए गए प्रयासों के लगातार डेटा संरचना संस्करण का उपयोग करें। [[हास्केल (प्रोग्रामिंग भाषा)|हास्केल (प्रोग्रामिंग लैंग्वेज)]] लाइब्रेरी अनआर्डरड-कंटेनर्स लगातार मैप को लागू करने और डेटा स्ट्रक्चर को सम्मुच्चय करने के लिए इसका उपयोग करती है। <ref>Johan Tibell, A. [http://blog.johantibell.com/2012/03/announcing-unordered-containers-02.html Announcing unordered-containers 0.2]</ref> एक अन्य हास्केल लाइब्रेरी एसटीएम-धारक [[सॉफ़्टवेयर ट्रांसेक्शनल मेमोरी]] के संदर्भ में उपयोग के लिए कलन विधि को अनुकूलित करता है। <ref>Nikita Volkov, [https://nikita-volkov.github.io/stm-containers/ Announcing the "stm-containers" library], 2014</ref> एक [[जावास्क्रिप्ट]] एचएएमटी लाइब्रेरी <ref>{{cite web|url=https://github.com/mattbierner/hamt|title=mattbierner/hamt|website=GitHub|date=27 November 2022 }}</ref> क्लोजर कार्यान्वयन पर आधारित भी उपलब्ध है। [[ माणिक |रुबिनियस]] <ref>{{cite web|url=https://github.com/rubinius/rubinius/blob/540a4b446991e4d5c956023d37ec4f95372d539d/kernel/common/hash_hamt.rb|title=रुबिनियस के HAMT की रूबी स्रोत फ़ाइल|website=[[GitHub]]|publisher=}}</ref> [[रूबी (प्रोग्रामिंग भाषा)|रूबी (प्रोग्रामिंग लैंग्वेज)]] के कार्यान्वयन में एक एचएएमटी सम्मिलित है, जो अधिकतर रूबी में लिखा गया है लेकिन 3 के साथ <ref>https://github.com/rubinius/rubinius/blob/master/machine/builtin/system.cpp#L1724-L1802 {{Dead link|date=February 2022}}</ref> एर्लैंग (प्रोग्रामिंग लैंग्वेज) में बड़े मैप्ड विमोचन 18.0 के बाद से आंतरिक रूप से एक पर्सिस्टेंट डेटा संरचना एचएएमटी प्रतिनिधित्व का उपयोग करते हैं। <ref>{{Cite web | url=http://www.erlang.org/news/86 | title=Erlang Programming Language}}</ref> पोनी प्रोग्रामिंग लैंग्वेज अपने सतत संग्रह पैकेज में हैश मैप्ड के लिए एचएएमटी का उपयोग करती है। <ref>{{Cite web | url=https://github.com/ponylang/ponyc/blob/master/packages/collections/persistent/map.pony | title=horse: Pony is an open-source, actor-model, capabilities-secure, high performance programming language: Ponylang/ponyc| website=[[GitHub]]| date=2018-11-26}}</ref>
आईएम और आईएम-आरसी क्रेट्स, जो रस्ट प्रोग्रामिंग भाषा के लिए लगातार संग्रह प्रकार प्रदान करते हैं, अपने लगातार हैश टेबल और हैश सेट के लिए एचएएमटी का उपयोग करते हैं।
 
<ref>{{cite web|url=https://docs.rs/im/|title=API docs for Rust im-rc crate}}</ref>
आईएम और आईएम-आरसी क्रेट्स, जो रस्ट प्रोग्रामिंग लैंग्वेज के लिए लगातार संग्रह प्रकार प्रदान करते हैं, अपने लगातार हैश टेबल और हैश सम्मुच्चय के लिए एचएएमटी का उपयोग करते हैं। <ref>{{cite web|url=https://docs.rs/im/|title=API docs for Rust im-rc crate}}</ref> समवर्ती लॉक-मुक्त संस्करण <ref>Prokopec, A. [https://github.com/axel22/Ctries Implementation of Concurrent Hash Tries on GitHub]</ref> [[Ctrie|सीटीआरआई]] नामक हैश ट्रिए एक परिवर्तनीय थ्रेड-सुरक्षित कार्यान्वयन है जो प्रगति सुनिश्चित करता है। डेटा-संरचना सही सिद्ध हुई है <ref>Prokopec, A. et al. (2011) [http://infoscience.epfl.ch/record/166908/files/ctries-techreport.pdf Cache-Aware Lock-Free Concurrent Hash Tries]. Technical Report, 2011.</ref> - सीटीआरआई ऑपरेशंस में [[ परमाणुता (प्रोग्रामिंग) |अटॉमिसिटी (प्रोग्रामिंग)]], [[रैखिकता]] और लॉक-फ्रीडम प्रॉपर्टीज दिखाए गए हैं।
समवर्ती लॉक-मुक्त संस्करण<ref>Prokopec, A. [https://github.com/axel22/Ctries Implementation of Concurrent Hash Tries on GitHub]</ref> [[Ctrie]] नामक हैश ट्राइ एक परिवर्तनीय थ्रेड-सुरक्षित कार्यान्वयन है जो प्रगति सुनिश्चित करता है। डेटा-संरचना सही साबित हुई है<ref>Prokopec, A. et al. (2011) [http://infoscience.epfl.ch/record/166908/files/ctries-techreport.pdf Cache-Aware Lock-Free Concurrent Hash Tries]. Technical Report, 2011.</ref> - Ctrie ऑपरेशंस में [[ परमाणुता (प्रोग्रामिंग) ]], [[रैखिकता]] और [[ ताला मुक्त ]]|लॉक-फ्रीडम गुण दिखाए गए हैं।


== यह भी देखें ==
== यह भी देखें ==
* [[जूडी सरणी]]
* [[जूडी सरणी|जूडी ऐरे]]
* [[मूलांक वृक्ष]]
* [[मूलांक वृक्ष|मूलांक ट्री]]


== संदर्भ ==
== संदर्भ ==
{{Reflist}}
{{Reflist}}


{{DEFAULTSORT:Hash Array Mapped Trie}}[[Category: सहयोगी सरणियाँ]] [[Category: हैशिंग]]
{{DEFAULTSORT:Hash Array Mapped Trie}}
 
 


[[Category: Machine Translated Page]]
[[Category:All articles with dead external links]]
[[Category:Created On 10/07/2023]]
[[Category:Articles with dead external links from February 2022]]
[[Category:Created On 10/07/2023|Hash Array Mapped Trie]]
[[Category:Machine Translated Page|Hash Array Mapped Trie]]
[[Category:Pages with script errors|Hash Array Mapped Trie]]
[[Category:Templates Vigyan Ready]]
[[Category:सहयोगी सरणियाँ|Hash Array Mapped Trie]]
[[Category:हैशिंग|Hash Array Mapped Trie]]

Latest revision as of 10:11, 28 July 2023

हैश ऐरे मैप्ड ट्रिए [1] (एचएएमटी) एक अस्सोसिएटिवे ऐरे का इम्प्लीमेंटेशन है जो हैश टेबल और हैश ऐरे मैप्ड ट्रिए की विशेषताओं को जोड़ता है। [1] यह हैश ट्रिए (लगातार डेटा संरचना) की अधिक जनरल नोशन का एक रिफाइंड वरजन है।

संचालन

एचएएमटी एक ऐरे मैप्ड ट्रिए है जहां कीज़ का समान वितरण और निरंतर कुंजी लंबाई सुनिश्चित करने के लिए कीज़ को पहले हैश किया जाता है।

एचएएमटी के एरे मैप्ड ट्रिए के एक विशिष्ट कार्यान्वयन में, प्रत्येक बिंदु में कुछ निश्चित संख्या N स्लॉट के साथ एक टेबल होती है, जिसमें प्रत्येक स्लॉट में एक शून्य पॉइंटर या दूसरे बिंदु के लिए एक पॉइंटर होता है। N सामान्यतः 32 है। चूंकि प्रत्येक बिंदु के लिए N पॉइंटर के लिए स्थान आवंटित करना महंगा होगा, इसके स्थान पर प्रत्येक बिंदु में एक बिटमैप होता है जो N बिट लंबा होता है जहां प्रत्येक बिट एक गैर-शून्य पॉइंटर की उपस्थिति को इंडीकेट करता है। इसके बाद बिटमैप (इसका हैमिंग भार) में पॉइंटर की संख्या के बराबर लंबाई वाले पॉइंटर की एक ऐरे होती है।

एचएएमटी के लाभ

हैश ऐरे मैप्ड ट्राई मेमोरी का अधिक एकनॉमिकली उपयोग करते हुए लगभग हैश टेबल जैसी गति प्राप्त करता है। साथ ही, हैश टेबल का समय-समय पर आकार बदलना पड़ सकता है, जो एक महंगा संचालन है, जबकि एचएएमटी गतिशील रूप से बढ़ते हैं। सामान्यतः, एचएएमटी प्रदर्शन में कुछ एन स्लॉट के साथ एक बड़ी क्रम टेबल द्वारा सुधार किया जाता है; कुछ एचएएमटी प्रकार जड़ को प्रदर्शन पर नगण्य प्रभाव के साथ धीरे-धीरे बढ़ने देते हैं। [1]

कार्यान्वयन विवरण

एचएएमटी के कार्यान्वयन में हैमिंग भार फलन का उपयोग सम्मिलित है, जो किसी संख्या के बाइनरी रिप्रजेंटेशन में नंबर ऑफ़ वंस की गणना करता है। यह संचालन हैमिंग वेट समर्थन में उपलब्ध है, लेकिन यह हैमिंग वेट केवल कुछ उच्च-स्तरीय लैंग्वेजओं में उपलब्ध है। हालाँकि जनसंख्या गणना को हैमिंग वेट इम्प्लीमेंटेशन का उपयोग करके O(1) समय में सॉफ़्टवेयर में लागू किया जा सकता है, ऐसा करने से संचालन आर्डर ऑफ़ मैग्नीट्यूड में धीमा हो सकता है।

कार्यान्वयन

प्रोग्रामिंग लैंग्वेजएँ क्लोजर, [2] स्काला (प्रोग्रामिंग लैंग्वेज), और फ़्रीज (प्रोग्रामिंग लैंग्वेज) [3] अपने मूल हैश मैप्ड प्रकार के लिए हैश ऐरे मैप्ड किए गए प्रयासों के लगातार डेटा संरचना संस्करण का उपयोग करें। हास्केल (प्रोग्रामिंग लैंग्वेज) लाइब्रेरी अनआर्डरड-कंटेनर्स लगातार मैप को लागू करने और डेटा स्ट्रक्चर को सम्मुच्चय करने के लिए इसका उपयोग करती है। [4] एक अन्य हास्केल लाइब्रेरी एसटीएम-धारक सॉफ़्टवेयर ट्रांसेक्शनल मेमोरी के संदर्भ में उपयोग के लिए कलन विधि को अनुकूलित करता है। [5] एक जावास्क्रिप्ट एचएएमटी लाइब्रेरी [6] क्लोजर कार्यान्वयन पर आधारित भी उपलब्ध है। रुबिनियस [7] रूबी (प्रोग्रामिंग लैंग्वेज) के कार्यान्वयन में एक एचएएमटी सम्मिलित है, जो अधिकतर रूबी में लिखा गया है लेकिन 3 के साथ [8] एर्लैंग (प्रोग्रामिंग लैंग्वेज) में बड़े मैप्ड विमोचन 18.0 के बाद से आंतरिक रूप से एक पर्सिस्टेंट डेटा संरचना एचएएमटी प्रतिनिधित्व का उपयोग करते हैं। [9] पोनी प्रोग्रामिंग लैंग्वेज अपने सतत संग्रह पैकेज में हैश मैप्ड के लिए एचएएमटी का उपयोग करती है। [10]

आईएम और आईएम-आरसी क्रेट्स, जो रस्ट प्रोग्रामिंग लैंग्वेज के लिए लगातार संग्रह प्रकार प्रदान करते हैं, अपने लगातार हैश टेबल और हैश सम्मुच्चय के लिए एचएएमटी का उपयोग करते हैं। [11] समवर्ती लॉक-मुक्त संस्करण [12] सीटीआरआई नामक हैश ट्रिए एक परिवर्तनीय थ्रेड-सुरक्षित कार्यान्वयन है जो प्रगति सुनिश्चित करता है। डेटा-संरचना सही सिद्ध हुई है [13] - सीटीआरआई ऑपरेशंस में अटॉमिसिटी (प्रोग्रामिंग), रैखिकता और लॉक-फ्रीडम प्रॉपर्टीज दिखाए गए हैं।

यह भी देखें

संदर्भ

  1. 1.0 1.1 1.2 Phil Bagwell (2000). Ideal Hash Trees (PDF) (Report). Infoscience Department, École Polytechnique Fédérale de Lausanne.
  2. "clojure/clojure". GitHub. 8 December 2022.
  3. "Frege/frege". GitHub. 7 December 2022.
  4. Johan Tibell, A. Announcing unordered-containers 0.2
  5. Nikita Volkov, Announcing the "stm-containers" library, 2014
  6. "mattbierner/hamt". GitHub. 27 November 2022.
  7. "रुबिनियस के HAMT की रूबी स्रोत फ़ाइल". GitHub.
  8. https://github.com/rubinius/rubinius/blob/master/machine/builtin/system.cpp#L1724-L1802[dead link]
  9. "Erlang Programming Language".
  10. "horse: Pony is an open-source, actor-model, capabilities-secure, high performance programming language: Ponylang/ponyc". GitHub. 2018-11-26.
  11. "API docs for Rust im-rc crate".
  12. Prokopec, A. Implementation of Concurrent Hash Tries on GitHub
  13. Prokopec, A. et al. (2011) Cache-Aware Lock-Free Concurrent Hash Tries. Technical Report, 2011.