{"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 ka publikuar 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\">ka prezantuar<\/a><\/noindex> variant 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 i TCMalloc \u00ebsht\u00eb shkruar n\u00eb C++ dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/google\/tcmalloc\">shp\u00ebrndahet<\/a><\/noindex> licencohet sipas licenc\u00ebs Apache. P\u00ebr funksionim k\u00ebrkohet nj\u00eb kompajler me mb\u00ebshtetje p\u00ebr C++17 p\u00ebr gjuh\u00ebn C++ dhe C11 p\u00ebr gjuh\u00ebn C (gcc 9.2+ ose clang 9.0+). Nga sistemet operative mb\u00ebshtetet <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/google\/tcmalloc\/blob\/master\/docs\/platforms.md\">mb\u00ebshtetet<\/a><\/noindex> vet\u00ebm Linux (x86, PPC).<\/p>\n<p>Vlen t\u00eb theksohet se q\u00eb nga viti 2005 ekziston edhe nj\u00eb variant tjet\u00ebr i tcmalloc, i cili <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/gperftools\/gperftools\/blob\/master\/src\/tcmalloc.cc\">\u00ebsht\u00eb shp\u00ebrndar\u00eb<\/a><\/noindex> si pjes\u00eb e 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\">projekte t\u00eb ndryshme<\/a><\/noindex> me 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 aktuale t\u00eb brendshme t\u00eb Google, por p\u00ebr momentin nuk synon t\u00eb ofroj\u00eb nj\u00eb ABI t\u00eb q\u00ebndruesh\u00ebm dhe mb\u00ebshtetje p\u00ebr nj\u00eb gam\u00eb t\u00eb gjer\u00eb sistemesh operative. Mir\u00ebmbajtja e tcmalloc-it t\u00eb vjet\u00ebr nga gperftools do t\u00eb vazhdoj\u00eb, por nuk planifikohet transferimi i ve\u00e7orive t\u00eb reja n\u00eb t\u00eb, si p.sh. lidhja e cache me CPU.<\/p>\n<p>TCMalloc p\u00ebrfshin nj\u00eb implementim t\u00eb funksionit malloc() t\u00eb gjuh\u00ebs C dhe operatorit C++ \"new\", t\u00eb optimizuar p\u00ebr t\u00eb arritur performanc\u00eb t\u00eb lart\u00eb dhe p\u00ebr p\u00ebrdorim n\u00eb aplikacione shum\u00ebprocesore. TCMalloc gjithashtu ofron mund\u00ebsi introspeksioni dhe profilizimi, duke i lejuar aplikacionit t\u00eb marr\u00eb informacione t\u00eb detajuara mbi p\u00ebrdorimin e memories n\u00eb grumbull. N\u00eb kod aplikohen optimizime t\u00eb bazuara n\u00eb mund\u00ebsit\u00eb moderne t\u00eb gjuh\u00ebs C++, si\u00e7 jan\u00eb<br \/>\noperatori delete me <noindex><a rel=\"nofollow\" href=\"https:\/\/isocpp.org\/files\/papers\/n3778.html\">specifikim t\u00eb madh\u00ebsis\u00eb<\/a><\/noindex> nga C++14 dhe alokimi i memories me <noindex><a rel=\"nofollow\" href=\"http:\/\/www.open-std.org\/jtc1\/sc22\/wg21\/docs\/papers\/2016\/p0035r1.html\">rreshtim<\/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> nga tre komponent\u00eb: frontend me cache p\u00ebr alokim dhe \u00e7lirim t\u00eb shpejt\u00eb t\u00eb memories, nj\u00eb shtres\u00eb nd\u00ebrmjet\u00ebse p\u00ebr mbushjen e cache-it t\u00eb frontend-it dhe backend-in, q\u00eb kryen operacione t\u00eb tilla si marrja e memories nga sistemi operativ, menaxhimi i blloqeve t\u00eb m\u00ebdha t\u00eb memories s\u00eb pap\u00ebrdorur dhe kthimi i memories s\u00eb tep\u00ebrt p\u00ebrs\u00ebri te OS. Cache \u00ebsht\u00eb pa bllokime dhe funksionon i lidhur me b\u00ebrthamat e CPU, por kthehet te modeli i cache-it t\u00eb lidhur me fijet n\u00ebse mungon funksionaliteti i nevojsh\u00ebm n\u00eb kernelin e OS (lidhja e cache me CPU funksionon vet\u00ebm n\u00eb kernel\u00ebt e rinj t\u00eb Linux). Backend mb\u00ebshtet pun\u00ebn si me faqet e zakonshme t\u00eb memories, ashtu edhe me faqet me madh\u00ebsi t\u00eb rritur (hugepage).<\/p>\n<p><center><noindex><a rel=\"nofollow\" href=\"https:\/\/google.github.io\/tcmalloc\/images\/tcmalloc_internals.png\"><img decoding=\"async\" alt=\"Google ka publikuar 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>Ve\u00e7orit\u00eb kryesore t\u00eb TCMalloc:<\/p>\n<ul>\n<li class=\"l\"> Ndarje dhe \u00e7lirim i shpejt\u00eb i memories me p\u00ebrdorimin e caching. Shumica e operacioneve t\u00eb ndarjes s\u00eb memories nuk k\u00ebrkojn\u00eb bllokim, gj\u00eb q\u00eb siguron shkall\u00ebzim t\u00eb mir\u00eb p\u00ebr aplikacionet shum\u00ebfijore me nivel t\u00eb lart\u00eb paralelizmi t\u00eb ngarkesave;\n<li class=\"l\"> P\u00ebrdorim fleksib\u00ebl i memories, q\u00eb lejon rip\u00ebrdorimin e zonave t\u00eb liruara t\u00eb memories p\u00ebr objekte me madh\u00ebsi t\u00eb ndryshme ose kthimin e memories te sistemi operativ;\n<li class=\"l\"> Shpenzime t\u00eb ul\u00ebta shtes\u00eb p\u00ebr \u00e7do objekt fal\u00eb ndarjes s\u00eb faqeve p\u00ebr objekte me t\u00eb nj\u00ebjt\u00ebn madh\u00ebsi dhe paraqitjes efikase t\u00eb objekteve t\u00eb vogla. Mb\u00ebshteten faqe logjike me madh\u00ebsi 4KiB, 8KiB, 32KiB dhe 256KiB. P\u00ebr shembull, kur k\u00ebrkohen blloqe memorieje prej 512 bajt\u00ebsh, do t\u00eb ndahet nj\u00eb faqe e plot\u00eb 4KiB p\u00ebr objekte 512-bajt\u00ebshe, n\u00eb t\u00eb cil\u00ebn mund t\u00eb vendosen 8 objekte t\u00eb tilla;\n<li class=\"l\"> Mund\u00ebsohet konfigurim i im\u00ebt p\u00ebrmes p\u00ebrcaktimit t\u00eb madh\u00ebsis\u00eb s\u00eb cache 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 analiz\u00ebn 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.2 - 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.2\" \/>\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 shp\u00ebrndarjes s\u00eb memories TCMalloc | ProHoster","description":"Kompania Google prezantoi nj\u00eb variant t\u00eb ri t\u00eb sistemit t\u00eb shp\u00ebrndarjes s\u00eb memories","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}]}}