{"id":41840,"date":"2020-02-17T05:33:00","date_gmt":"2020-02-17T02:33:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/google-opublikoval-novyj-variant-sistemy-raspredeleniya-pamyati-tcmalloc"},"modified":"2020-02-17T05:33:00","modified_gmt":"2020-02-17T02:33:00","slug":"google-opublikoval-novyj-variant-sistemy-raspredeleniya-pamyati-tcmalloc","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/google-opublikoval-novyj-variant-sistemy-raspredeleniya-pamyati-tcmalloc","title":{"rendered":"Google publikoi nj\u00eb variant t\u00eb ri t\u00eb sistemit t\u00eb shp\u00ebrndarjes s\u00eb memories TCMalloc","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Kompania Google <noindex><a rel=\"nofollow\" href=\"https:\/\/abseil.io\/blog\/20200212-tcmalloc\">paraqiti<\/a><\/noindex> nj\u00eb version i ri i sistemit t\u00eb shp\u00ebrndarjes s\u00eb memories <noindex><a rel=\"nofollow\" href=\"https:\/\/google.github.io\/tcmalloc\/\">TCMalloc<\/a><\/noindex>, i cili p\u00ebrdoret n\u00eb shum\u00eb projekte t\u00eb brendshme t\u00eb Google. Kodi TCMalloc \u00ebsht\u00eb shkruar n\u00eb C++ dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/google\/tcmalloc\">distribuohet<\/a><\/noindex> n\u00ebn licenc\u00ebn Apache. P\u00ebr funksionimin e tij nevojitet nj\u00eb kompilator q\u00eb mb\u00ebshtet C++17 p\u00ebr gjuh\u00ebn C++ dhe C11 p\u00ebr gjuh\u00ebn C (gcc 9.2+ ose clang 9.0+). Nga sistemet operative <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/google\/tcmalloc\/blob\/master\/docs\/platforms.md\">mb\u00ebshtetjes<\/a><\/noindex> vet\u00ebm Linux (x86, PPC).<\/p>\n<p>E ve\u00e7ant\u00eb \u00ebsht\u00eb se q\u00eb nga viti 2005 ekziston gjithashtu nj\u00eb version tjet\u00ebr t\u00eb tcmalloc, i cili <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/gperftools\/gperftools\/blob\/master\/src\/tcmalloc.cc\">u ofrua<\/a><\/noindex> n\u00eb p\u00ebrb\u00ebrje t\u00eb paket\u00ebs <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/gperftools\/gperftools\/\">gperftools<\/a><\/noindex> (Google Performance Tools). K\u00ebto jan\u00eb dy <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/gperftools\/gperftools\/issues\/1169#issuecomment-585321782\">rrjete t\u00eb ndryshme<\/a><\/noindex> projekti, q\u00eb kan\u00eb rr\u00ebnj\u00eb t\u00eb p\u00ebrbashk\u00ebta. TCMalloc i ri \u00ebsht\u00eb m\u00eb tep\u00ebr nj\u00eb p\u00ebrpjekje p\u00ebr t\u00eb hapur kodin e zhvillimeve t\u00eb brendshme t\u00eb Google, por deri tani nuk \u00ebsht\u00eb i orientuar p\u00ebr t\u00eb ofruar nj\u00eb ABI t\u00eb q\u00ebndrueshme dhe mb\u00ebshtetje p\u00ebr nj\u00eb gam\u00eb t\u00eb gjer\u00eb sistemesh operative. Mb\u00ebshtetje p\u00ebr tcmalloc t\u00eb vjet\u00ebr nga gperftools do t\u00eb vazhdoj\u00eb, por mund\u00ebsi t\u00eb reja, si lidhja e caches me CPU, nuk do t\u00eb transferohen n\u00eb t\u00eb.<\/p>\n<p>TCMalloc p\u00ebrfshin nj\u00eb implementim t\u00eb funksionit C malloc() dhe operatorit C++ \"new\", t\u00eb optimizuar p\u00ebr t\u00eb arritur performanc\u00eb t\u00eb lart\u00eb dhe p\u00ebrdorim n\u00eb aplikacione shum\u00eb-thread. TCMalloc gjithashtu ofron mund\u00ebsi introspeksioni dhe profilizimi, duke lejuar aplikacionin t\u00eb marr\u00eb informacion t\u00eb detajuar mbi p\u00ebrdorimin e memories n\u00eb heap. Kodi p\u00ebrmban optimizime t\u00eb bazuara n\u00eb mund\u00ebsit\u00eb moderne t\u00eb gjuh\u00ebs C++, t\u00eb tilla si<br \/>\noperatori delete me <noindex><a rel=\"nofollow\" href=\"https:\/\/isocpp.org\/files\/papers\/n3778.html\">specifikimin e madh\u00ebsis\u00eb<\/a><\/noindex> nga C++14 dhe alokimin e memories me <noindex><a rel=\"nofollow\" href=\"http:\/\/www.open-std.org\/jtc1\/sc22\/wg21\/docs\/papers\/2016\/p0035r1.html\">ndarje<\/a><\/noindex> nga C++17.<\/p>\n<p>TCMalloc <noindex><a rel=\"nofollow\" href=\"https:\/\/google.github.io\/tcmalloc\/design\">p\u00ebrb\u00ebhet<\/a><\/noindex> p\u00ebrb\u00ebhet nga tre komponent\u00eb: frontend me cache p\u00ebr alokimin dhe \u00e7lirimin e shpejt\u00eb t\u00eb memories, nj\u00eb shtres\u00eb p\u00ebr mbushjen e caches frontend dhe backend q\u00eb kryen operacione si marrja e memories nga sistemi operativ, menaxhimi i pjes\u00ebve t\u00eb m\u00ebdha t\u00eb memories s\u00eb pa p\u00ebrdorur dhe kthimi i memories s\u00eb tep\u00ebrt p\u00ebrs\u00ebri n\u00eb OS. Cache \u00ebsht\u00eb i shkarkuar nga bllokimet dhe punon n\u00eb lidhje me b\u00ebrtham\u00ebn e CPU, por rikthehet n\u00eb modelin e caching lidhur me thread n\u00eb rast se funksionaliteti i nevojsh\u00ebm nuk mb\u00ebshtetet n\u00eb b\u00ebrtham\u00ebn e OS (lidhja e cache me CPU funksionon vet\u00ebm n\u00eb b\u00ebrthama t\u00eb fresk\u00ebta Linux). Backend mb\u00ebshtet pun\u00ebn si me faqet standarde t\u00eb memories, ashtu edhe me faqet e p\u00ebrmasave t\u00eb zgjeruara (hugepage).<\/p>\n<p><center><noindex><a rel=\"nofollow\" href=\"https:\/\/google.github.io\/tcmalloc\/images\/tcmalloc_internals.png\"><img decoding=\"async\" alt=\"Google publikoi nj\u00eb variant t\u00eb ri t\u00eb sistemit t\u00eb shp\u00ebrndarjes s\u00eb memories TCMalloc\" src=\"\/wp-content\/uploads\/2020\/02\/a1938ff7433f5801e20371f31f7678be.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/center><\/p>\n<p>Karakteristikat kryesore t\u00eb TCMalloc:<\/p>\n<ul>\n<li class=\"l\"> Alokim dhe \u00e7lirim t\u00eb shpejt\u00eb t\u00eb memories duke p\u00ebrdorur caching. Shumica e operacioneve t\u00eb alokimit t\u00eb memories nuk k\u00ebrkojn\u00eb bllokim, duke siguruar nj\u00eb shkall\u00eb t\u00eb mir\u00eb p\u00ebr aplikacionet shum\u00eb-thread me paraleliz\u00ebm t\u00eb lart\u00eb t\u00eb ekzekutimit;\n<li class=\"l\"> P\u00ebrdorim fleksib\u00ebl t\u00eb memories, duke lejuar rip\u00ebrdorimin e fushave t\u00eb \u00e7liruara t\u00eb memories p\u00ebr objekte t\u00eb madh\u00ebsive t\u00eb ndryshme ose kthimin e memories n\u00eb sistemin operativ;\n<li class=\"l\"> Shpenzime t\u00eb ul\u00ebta p\u00ebr secilin objekt p\u00ebr shkak t\u00eb alokimit t\u00eb faqeve t\u00eb objekteve t\u00eb nj\u00ebjt\u00eb t\u00eb madh\u00ebsis\u00eb dhe p\u00ebrfaq\u00ebsimit efikas t\u00eb objekteve t\u00eb vogla. Mb\u00ebshteten faqet logjike, me madh\u00ebsi 4KiB, 8KiB, 32KiB dhe 256KiB. P\u00ebr shembull, kur k\u00ebrkohen blloqe me 512 byte memories, do t\u00eb alokohet nj\u00eb faqe e plot\u00eb 4KiB p\u00ebr objekte 512-byte, n\u00eb t\u00eb cil\u00ebn do t\u00eb mund t\u00eb rrin\u00eb 8 nga k\u00ebto objekte;\n<li class=\"l\"> E mundshme p\u00ebr rregullim t\u00eb holl\u00ebsish\u00ebm p\u00ebrmes p\u00ebrcaktimit t\u00eb madh\u00ebsis\u00eb s\u00eb caches dhe parametrave t\u00eb intensitetit t\u00eb kthimit t\u00eb memories n\u00eb OS;\n<li class=\"l\"> Ofrimi i informacionit t\u00eb detajuar p\u00ebr analizimin e p\u00ebrdorimit t\u00eb memories nga aplikacioni.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Burimi: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52364\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0430 \u043d\u043e\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 TCMalloc, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u043e \u043c\u043d\u043e\u0433\u0438\u0445 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445 Google. \u041a\u043e\u0434 TCMalloc \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u0421++ \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 Apache. \u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 C++17 \u0434\u043b\u044f \u044f\u0437\u044b\u043a\u0430 C++, \u0438 C11 \u0434\u043b\u044f \u044f\u0437\u044b\u043a\u0430 \u0421\u0438 (gcc 9.2+ \u0438\u043b\u0438 clang 9.0+). \u0418\u0437 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e Linux (x86, PPC). [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":41841,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-41840","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0430 \u043d\u043e\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/google-opublikoval-novyj-variant-sistemy-raspredeleniya-pamyati-tcmalloc\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\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\udd47Google \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u043d\u043e\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 TCMalloc | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0430 \u043d\u043e\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/google-opublikoval-novyj-variant-sistemy-raspredeleniya-pamyati-tcmalloc\" \/>\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=\"2020-02-17T02:33:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-17T02:33:00+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\udd47Google publikoi nj\u00eb variant t\u00eb ri t\u00eb sistemit t\u00eb ndarjes s\u00eb kujtes\u00ebs TCMalloc | ProHoster","description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0430 \u043d\u043e\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/google-opublikoval-novyj-variant-sistemy-raspredeleniya-pamyati-tcmalloc","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","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\udd47Google \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u043d\u043e\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 TCMalloc | ProHoster","og:description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0430 \u043d\u043e\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438","og:url":"https:\/\/prohoster.info\/sq\/blog\/google-opublikoval-novyj-variant-sistemy-raspredeleniya-pamyati-tcmalloc","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":"2020-02-17T02:33:00+00:00","article:modified_time":"2020-02-17T02:33:00+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"41840","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":null,"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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:09:25","updated":"2022-09-27 17:39:00","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/41840","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=41840"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/41840\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/41841"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=41840"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=41840"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=41840"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}