{"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\/da\/blog\/news\/proekt-gentoo-predstavil-sistemu-upravleniya-paketami-portage-3-0","title":{"rendered":"Gentoo-projektet har pr\u00e6senteret pakkeh\u00e5ndteringssystemet 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\">Stabiliseret<\/a><\/noindex> udgivelse af pakkeh\u00e5ndteringssystemet <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.gentoo.org\/wiki\/Project:Portage\">Portage 3.0<\/a><\/noindex>, der anvendes i distributionen <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gentoo.org\/\">Gentoo Linux<\/a><\/noindex>. Den pr\u00e6senterede version opsummerer langvarigt arbejde med overgangen til Python 3 og oph\u00f8r af support for Python 2.7. <\/p>\n<p>Ud over oph\u00f8ret af support for Python 2.7 var en anden vigtig \u00e6ndring inkluderet <noindex><a rel=\"nofollow\" href=\"https:\/\/www.reddit.com\/r\/Gentoo\/comments\/huczqb\/portage_300_released_with_up_to_5060_faster\/\">optimeringer<\/a><\/noindex>, der har gjort det muligt at fremskynde beregninger relateret til afh\u00e6ngighedsbestemmelse med 50-60%. Det er interessant, at nogle udviklere foreslog at skrive koden til afh\u00e6ngighedsopl\u00f8sning om til C\/C++ eller Go for at \u00f8ge hastigheden, men det lykkedes at l\u00f8se det eksisterende problem med minimal indsats.<\/p>\n<p>Profileringen af den eksisterende kode viste, at det meste af tiden under beregningerne blev brugt p\u00e5 at kalde funktionerne use_reduce og catpkgsplit med et gentaget s\u00e6t af argumenter (for eksempel blev funktionen catpkgsplit kaldt mellem 1 og 5 millioner gange). For at accelerere blev der anvendt caching af resultatet fra disse funktioner ved hj\u00e6lp af ordb\u00f8ger. Den indbyggede funktion lru_cache viste sig at v\u00e6re optimal til at gemme cachen, men den var kun tilg\u00e6ngelig i Python-versioner fra 3.2 og frem. For at sikre kompatibilitet med \u00e6ldre versioner blev der tilf\u00f8jet en stub, der erstattede lru_cache, men beslutningen om at oph\u00f8re med st\u00f8tte for Python 2.7 i Portage 3.0 gjorde opgaven meget enklere og gjorde det muligt at undg\u00e5 dette lag. <\/p>\n<p>Brugen af cache har gjort det muligt at reducere udf\u00f8relsestiden for operationen &#171;emerge -uDvpU &#8212;with-bdeps=y @world&#187; p\u00e5 ThinkPad X220 fra 5 minutter og 20 sekunder til 3 minutter og 16 sekunder (63%). Tests p\u00e5 andre systemer har vist en forbedring p\u00e5 mindst 48%.<\/p>\n<p>Udvikleren, der forberedte \u00e6ndringen, fors\u00f8gte ogs\u00e5 at implementere et prototype af kodningen til afh\u00e6ngighedsopl\u00f8sning i C++ eller Rust, men opgaven viste sig at v\u00e6re for kompleks, da det kr\u00e6vede portering af en stor m\u00e6ngde kode, og det var tvivlsomt, om det opn\u00e5ede resultat var v\u00e6rd at den tid, der blev brugt. <\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Kilde: <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.3 - 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\/da\/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.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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\/da\/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\udd47Gentoo-projektet har pr\u00e6senteret pakkeh\u00e5ndteringssystemet Portage 3.0 | ProHoster","description":"Stabiliseret udgivelse af pakkeh\u00e5ndteringssystemet","canonical_url":"https:\/\/prohoster.info\/da\/blog\/news\/proekt-gentoo-predstavil-sistemu-upravleniya-paketami-portage-3-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/93424","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=93424"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/93424\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=93424"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=93424"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=93424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}