{"id":93424,"date":"2020-09-07T07:42:06","date_gmt":"2020-09-07T05:42:06","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/proekt-gentoo-predstavil-sistemu-upravleniya-paketami-portage-3-0"},"modified":"2020-09-07T07:42:06","modified_gmt":"2020-09-07T05:42:06","slug":"proekt-gentoo-predstavil-sistemu-upravleniya-paketami-portage-3-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/news\/proekt-gentoo-predstavil-sistemu-upravleniya-paketami-portage-3-0","title":{"rendered":"Gentoo-projektet har presenterat paketf\u00f6rvaltningssystemet Portage 3.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/www.gentoo.org\/news\/2020\/09\/05\/portage-3-stablized.html\">Stabiliserad<\/a><\/noindex> utg\u00e5va av paketstyrningssystemet <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.gentoo.org\/wiki\/Project:Portage\">Portage 3.0<\/a><\/noindex>, som anv\u00e4nds i distributionen <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gentoo.org\/\">Gentoo Linux<\/a><\/noindex>. Den presenterade grenen sammanfattar ett l\u00e5ngvarigt arbete med att \u00f6verg\u00e5 till Python 3 och avsluta st\u00f6det f\u00f6r Python 2.7. <\/p>\n<p>F\u00f6rutom att st\u00f6det f\u00f6r Python 2.7 har avslutats, var en annan viktig f\u00f6r\u00e4ndring inkluderingen <noindex><a rel=\"nofollow\" href=\"https:\/\/www.reddit.com\/r\/Gentoo\/comments\/huczqb\/portage_300_released_with_up_to_5060_faster\/\">optimeringar<\/a><\/noindex>, vilket m\u00f6jliggjorde en hastighets\u00f6kning p\u00e5 50-60% i ber\u00e4kningarna relaterade till beroendedefinition. Det \u00e4r intressant att vissa utvecklare f\u00f6reslog att skriva om beroendehanteringskoden i C\/C++ eller Go f\u00f6r att snabba upp dess funktion, men det lyckades l\u00f6sa problemet med mindre anstr\u00e4ngning.<\/p>\n<p>Profilering av den befintliga koden visade att den st\u00f6rsta tiden vid ber\u00e4kningarna spenderas p\u00e5 anrop av funktionerna use_reduce och catpkgsplit med upprepade upps\u00e4ttningar av argument (t.ex. funktionen catpkgsplit anropades mellan 1 och 5 miljoner g\u00e5nger). F\u00f6r att \u00f6ka hastigheten anv\u00e4ndes caching av dessa funktionsresultat med hj\u00e4lp av ordb\u00f6cker. Den inbyggda funktionen lru_cache var optimal f\u00f6r att lagra cache, men den var bara tillg\u00e4nglig i Python-versioner fr\u00e5n 3.2 och fram\u00e5t. F\u00f6r att vara kompatibel med tidigare versioner lades en ers\u00e4ttning f\u00f6r lru_cache till, men beslutet att avsluta st\u00f6det f\u00f6r Python 2.7 i Portage 3.0 f\u00f6renklade uppgiften avsev\u00e4rt och m\u00f6jliggjorde att undvika detta mellanlager. <\/p>\n<p>Anv\u00e4ndningen av cache har minskat tiden f\u00f6r att k\u00f6ra operationen &#171;emerge -uDvpU &#8212;with-bdeps=y @world&#187; p\u00e5 ThinkPad X220 fr\u00e5n 5 minuter 20 sekunder till 3 minuter 16 sekunder (63%). Tester p\u00e5 andra system visade en prestanda\u00f6kning p\u00e5 minst 48%.<\/p>\n<p>Utvecklaren som f\u00f6rberedde \u00e4ndringen f\u00f6rs\u00f6kte ocks\u00e5 implementera en prototyp av beroendehanteringskoden i C++ eller Rust, men uppgiften visade sig vara f\u00f6r komplex, eftersom den kr\u00e4vde portering av en stor m\u00e4ngd kod, och det var tveksamt om det resulterande resultatet var v\u00e4rt den insats som kr\u00e4vdes. <\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>K\u00e4lla: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=53668\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0438\u0440\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438 Portage 3.0, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u0439 \u0432 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0435 Gentoo Linux. \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u0430\u044f \u0432\u0435\u0442\u043a\u0430 \u043f\u043e\u0434\u0432\u0435\u043b\u0430 \u0438\u0442\u043e\u0433 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0443 \u043d\u0430 Python 3 \u0438 \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u044e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 Python 2.7. \u041a\u0440\u043e\u043c\u0435 \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 Python 2.7, \u0434\u0440\u0443\u0433\u0438\u043c \u0432\u0430\u0436\u043d\u044b\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c \u0441\u0442\u0430\u043b\u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439, \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0432\u0448\u0438\u0445 \u043d\u0430 50-60% \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u043c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439. \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u0447\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u043b\u0438 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-93424","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0438\u0440\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u0430\u043c\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\/sv\/blog\/news\/proekt-gentoo-predstavil-sistemu-upravleniya-paketami-portage-3-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\u041f\u0440\u043e\u0435\u043a\u0442 Gentoo \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438 Portage 3.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0438\u0440\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/news\/proekt-gentoo-predstavil-sistemu-upravleniya-paketami-portage-3-0\" \/>\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-09-07T05:42:06+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-07T05:42:06+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\udd47Projektet Gentoo presenterade paketstyrningssystemet Portage 3.0 | ProHoster","description":"Stabiliserad utg\u00e5va av paketstyrningssystemet","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/news\/proekt-gentoo-predstavil-sistemu-upravleniya-paketami-portage-3-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\u041f\u0440\u043e\u0435\u043a\u0442 Gentoo \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438 Portage 3.0 | ProHoster","og:description":"\u0421\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0438\u0440\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438","og:url":"https:\/\/prohoster.info\/sv\/blog\/news\/proekt-gentoo-predstavil-sistemu-upravleniya-paketami-portage-3-0","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-09-07T05:42:06+00:00","article:modified_time":"2020-09-07T05:42:06+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"93424","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-02-28 11:48:27","updated":"2022-10-09 13:26:09","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/93424","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=93424"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/93424\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=93424"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=93424"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=93424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}