{"id":160720,"date":"2026-02-12T17:11:59","date_gmt":"2026-02-12T15:11:59","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/v-yazyke-nim-predstavlen-yrc-potokobezopasnyj-sborshhik-cziklicheskih-ssylok"},"modified":"2026-02-12T17:11:59","modified_gmt":"2026-02-12T15:11:59","slug":"v-yazyke-nim-predstavlen-yrc-potokobezopasnyj-sborshhik-cziklicheskih-ssylok","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/v-yazyke-nim-predstavlen-yrc-potokobezopasnyj-sborshhik-cziklicheskih-ssylok","title":{"rendered":"\u00cen limbajul Nim a fost introdus YRC \u2014 un colector de linkuri ciclice thread-safe","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Andreas Rumpf (Araq), creator of the Nim programming language, has announced a new memory management algorithm, YRC (pronounced \u2018Yurk\u2019), which addresses one of the key issues of existing mechanisms in Nim: the inability to correctly handle circular references crossing thread boundaries.    <\/p>\n<p>Before YRC, Nim's offered memory management algorithms had the following limitations: ARC \u2014 did not support multithreading or cycle processing; Atomic ARC \u2014 was thread-safe but did not handle circular references; ORC \u2014 handled circular references but could only do so correctly within a single thread (using shared references between threads resulted in memory leaks).       <\/p>\n<p>The proposed YRC combines thread safety and cycle processing across threads through a combined approach: atomic reference counting is applied for acyclic data, and a write barrier is used for cyclic data, which is activated only when assigning pointers. In the proposed implementation: the collector is activated as needed (no stop-the-world pauses); the root RC objects are explicitly defined and combined once (no need to scan thread stacks); multithreaded deletion during iteration is avoided (no global sweep phase); mutators freely read data; any thread can start the garbage collector as needed (without a dedicated GC thread).    <\/p>\n<p>YRC utilizes complete information about incRef\/decRef events, which traditional tracing garbage collectors discard and then have to recover through stack scanning and graph traversal. The implementation consists of only 550 lines of code and has formal verification of safety and absence of deadlocks through specification in TLA+ and proof in the Lean toolkit. YRC is positioned as 'almost the last reference-counting cycle collector' (the letter Y precedes Z in the alphabet), as well as the simplest thread-safe garbage collector \u2014 according to the author, it does not require many complex mechanisms inherent in traditional tracing garbage collectors.      <\/p>\n<p>YRC ofer\u0103 aceea\u0219i API ca ORC, cu executarea destructorilor \u00een timpul colect\u0103rii de\u0219eurilor. Colectorul proceseaz\u0103 doar acele subgrafuri de obiecte cu care lucreaz\u0103 firele, f\u0103r\u0103 a atinge structurile de date necorelate (cache-uri, obiecte de lung\u0103 durat\u0103) \u2014 o abordare similar\u0103 unui colector de de\u0219euri generativ \u201eideal\u201d f\u0103r\u0103 utilizarea genera\u021biilor. Principala problem\u0103 este performan\u021ba: YRC arat\u0103 o \u00eencetinire de 1,5-2,0 ori comparativ cu ORC \u00een testul de performan\u021b\u0103 orcbench. Autorul consider\u0103 c\u0103 aceasta este o compensa\u021bie acceptabil\u0103 pentru procesarea complet sigur\u0103 din punct de vedere al firului a referin\u021belor circulare.    <\/p>\n<p>YRC este deja disponibil \u00een versiunea de dezvoltare a Nim \u0219i se activeaz\u0103 cu flagul \u201e--mm:yrc\u201d. Totu\u0219i, \u00een mesajele ulterioare, autorul a recunoscut c\u0103 implementarea ini\u021bial\u0103 con\u021binea erori grave \u0219i nu colecta corect ciclurile. La momentul public\u0103rii, a fost preg\u0103tit un set de corecturi care elimin\u0103 principalele gre\u0219eli. Autorul continu\u0103 ajustarea heuristicilor de colectare \u0219i corectarea erorilor r\u0103mase, \u00een timp ce algoritmul de baz\u0103 \u0219i verificarea sa formal\u0103 r\u0103m\u00e2n corecte.<br \/>\n<br \/>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=64785\">opennet.ro<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0410\u043d\u0434\u0440\u0435\u0430\u0441 \u0420\u0443\u043c\u043f\u0444 (Araq), \u0430\u0432\u0442\u043e\u0440 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Nim, \u0430\u043d\u043e\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043b \u043d\u043e\u0432\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u044c\u044e YRC (\u043f\u0440\u043e\u0438\u0437\u043d\u043e\u0441\u0438\u0442\u0441\u044f &#171;&#220;rk&#187;), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0435\u0448\u0430\u0435\u0442 \u043e\u0434\u043d\u0443 \u0438\u0437 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u0432 \u0432 Nim: \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0441\u044b\u043b\u043e\u043a, \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0449\u0438\u0445 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u043f\u043e\u0442\u043e\u043a\u043e\u0432. \u0414\u043e \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f YRC \u0432 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u0432 Nim \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430\u0445 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u044c\u044e, \u0438\u043c\u0435\u043b\u0438\u0441\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f: ARC &#8212; \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u043b \u043d\u0438 \u043c\u043d\u043e\u0433\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c, \u043d\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0446\u0438\u043a\u043b\u043e\u0432; [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-160720","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0410\u043d\u0434\u0440\u0435\u0430\u0441 \u0420\u0443\u043c\u043f\u0444 (Araq), \u0430\u0432\u0442\u043e\u0440 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Nim, \u0430\u043d\u043e\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043b \u043d\u043e\u0432\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u044c\u044e YRC (\u043f\u0440\u043e\u0438\u0437\u043d\u043e\u0441\u0438\u0442\u0441\u044f &quot;\u00dcrk&quot;), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0435\u0448\u0430\u0435\u0442 \u043e\u0434\u043d\u0443 \u0438\u0437 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u0432 \u0432 Nim: \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Erik Peterson\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/news\/v-yazyke-nim-predstavlen-yrc-potokobezopasnyj-sborshhik-cziklicheskih-ssylok\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412 \u044f\u0437\u044b\u043a\u0435 Nim \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d YRC \u2014 \u043f\u043e\u0442\u043e\u043a\u043e\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u0441\u0431\u043e\u0440\u0449\u0438\u043a \u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0441\u044b\u043b\u043e\u043a | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0410\u043d\u0434\u0440\u0435\u0430\u0441 \u0420\u0443\u043c\u043f\u0444 (Araq), \u0430\u0432\u0442\u043e\u0440 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Nim, \u0430\u043d\u043e\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043b \u043d\u043e\u0432\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u044c\u044e YRC (\u043f\u0440\u043e\u0438\u0437\u043d\u043e\u0441\u0438\u0442\u0441\u044f &quot;\u00dcrk&quot;), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0435\u0448\u0430\u0435\u0442 \u043e\u0434\u043d\u0443 \u0438\u0437 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u0432 \u0432 Nim: \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/v-yazyke-nim-predstavlen-yrc-potokobezopasnyj-sborshhik-cziklicheskih-ssylok\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-02-12T15:11:59+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-02-12T15:11:59+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47\u00cen limbajul Nim este prezentat YRC \u2014 un colector de referin\u021be circulare sigur pentru fire | ProHoster","description":"Andreas Rumpf (Araq), creatorul limbajului de programare Nim, a anun\u021bat un nou algoritm de gestionare a memoriei YRC (pronun\u021bat \"\u00dcrk\"), care rezolv\u0103 una dintre problemele cheie ale mecanismelor existente \u00een Nim: imposibilitatea.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/v-yazyke-nim-predstavlen-yrc-potokobezopasnyj-sborshhik-cziklicheskih-ssylok","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412 \u044f\u0437\u044b\u043a\u0435 Nim \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d YRC \u2014 \u043f\u043e\u0442\u043e\u043a\u043e\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u0441\u0431\u043e\u0440\u0449\u0438\u043a \u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0441\u044b\u043b\u043e\u043a | ProHoster","og:description":"\u0410\u043d\u0434\u0440\u0435\u0430\u0441 \u0420\u0443\u043c\u043f\u0444 (Araq), \u0430\u0432\u0442\u043e\u0440 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Nim, \u0430\u043d\u043e\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043b \u043d\u043e\u0432\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u044c\u044e YRC (\u043f\u0440\u043e\u0438\u0437\u043d\u043e\u0441\u0438\u0442\u0441\u044f &quot;\u00dcrk&quot;), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0435\u0448\u0430\u0435\u0442 \u043e\u0434\u043d\u0443 \u0438\u0437 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u0432 \u0432 Nim: \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c.","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/v-yazyke-nim-predstavlen-yrc-potokobezopasnyj-sborshhik-cziklicheskih-ssylok","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2026-02-12T15:11:59+00:00","article:modified_time":"2026-02-12T15:11:59+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"160720","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-12 15:13:27","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-02-12 15:11:59","updated":"2026-02-12 15:13:27","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/160720","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=160720"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/160720\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=160720"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=160720"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=160720"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}