{"id":99458,"date":"2021-03-17T16:22:53","date_gmt":"2021-03-17T14:22:53","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/pervyj-stabilnyj-vypusk-zlib-ng-vysokoproizvoditelnogo-forka-zlib"},"modified":"2021-03-17T16:22:53","modified_gmt":"2021-03-17T14:22:53","slug":"pervyj-stabilnyj-vypusk-zlib-ng-vysokoproizvoditelnogo-forka-zlib","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/pervyj-stabilnyj-vypusk-zlib-ng-vysokoproizvoditelnogo-forka-zlib","title":{"rendered":"Primeiro lan\u00e7amento est\u00e1vel do zlib-ng, um fork de alto desempenho do zlib.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Est\u00e1 dispon\u00edvel o lan\u00e7amento da biblioteca zlib-ng 2.0, que \u00e9 marcada como a primeira vers\u00e3o est\u00e1vel do projeto (em seguida, j\u00e1 est\u00e1 dispon\u00edvel um lan\u00e7amento corretivo 2.0.1). O zlib-ng \u00e9 compat\u00edvel com o zlib em n\u00edvel de API, mas oferece otimiza\u00e7\u00f5es adicionais que n\u00e3o foram aceitas no reposit\u00f3rio oficial do zlib devido \u00e0 abordagem conservadora em rela\u00e7\u00e3o \u00e0 aceita\u00e7\u00e3o de mudan\u00e7as. Al\u00e9m disso, um API modernizado foi proposto, baseado no zlib, mas alterado para simplificar a portabilidade. O c\u00f3digo do projeto foi escrito em C e \u00e9 distribu\u00eddo sob a licen\u00e7a Zlib.        <\/p>\n<p>Os testes realizados em sistemas x86_64 mostraram que, ao realizar opera\u00e7\u00f5es de compress\u00e3o, o zlib-ng \u00e9 aproximadamente 4 vezes mais r\u00e1pido que o zlib e 2,1 vezes mais r\u00e1pido que o gzip. Durante a descompress\u00e3o, o zlib-ng \u00e9 aproximadamente 2,4 vezes mais r\u00e1pido que o zlib e 1,8 vezes mais r\u00e1pido que o gzip. O aumento significativo no desempenho da compress\u00e3o\/descompress\u00e3o foi alcan\u00e7ado principalmente pelo uso de instru\u00e7\u00f5es vetoriais SSE*, AVX2, VSX e Neon.    <\/p>\n<p> Al\u00e9m disso, foi adicionada a implementa\u00e7\u00e3o do algoritmo de c\u00e1lculo de somas de verifica\u00e7\u00e3o Adler32, otimizada com instru\u00e7\u00f5es SSSE3, AVX2, Neon e VSX, a implementa\u00e7\u00e3o de CRC32-B baseada em PCLMULQDQ e ACLE, tabelas de hash aprimoradas, implementa\u00e7\u00e3o do hash Slide baseada em SSE2, AVX2, Neon e VSX, e opera\u00e7\u00f5es de compara\u00e7\u00e3o baseadas em SSE4.2 e AVX2. O pacote tamb\u00e9m inclui modifica\u00e7\u00f5es focadas na melhoria do desempenho, utilizadas em forks das empresas Intel e Cloudflare. O processo de trabalho com buffers foi otimizado. O suporte para sistemas de compila\u00e7\u00e3o CMake e NMake foi adicionado. Sistemas de integra\u00e7\u00e3o cont\u00ednua foram utilizados para testes.      <\/p>\n<p>Al\u00e9m das otimiza\u00e7\u00f5es, o zlib-ng tamb\u00e9m inclui patches acumulados em pacotes de distribui\u00e7\u00f5es e uma limpeza do c\u00f3digo de solu\u00e7\u00f5es contornadas utilizadas no zlib para suportar compiladores e plataformas antigos, que dificultam a implementa\u00e7\u00e3o de m\u00e9todos mais eficientes (por exemplo, limita\u00e7\u00f5es necess\u00e1rias para suportar sistemas de 16 bits e compiladores incompat\u00edveis com ANSI C). O trabalho foi realizado para identificar e corrigir erros detectados por analisadores est\u00e1ticos, sistemas de fuzzing e ferramentas para detectar problemas de gerenciamento de mem\u00f3ria (AddressSanitizer e MemorySanitizer).<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=54775\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 zlib-ng 2.0 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u043c\u0435\u0447\u0435\u043d \u043a\u0430\u043a \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 (\u0441\u043b\u0435\u0434\u043e\u043c \u0443\u0436\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0432\u044b\u043f\u0443\u0441\u043a 2.0.1). Zlib-ng \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c \u0441 zlib \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 API, \u043d\u043e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438, \u043d\u0435 \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0435 \u0432 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 zlib \u0438\u0437-\u0437\u0430 \u043a\u043e\u043d\u0441\u0435\u0440\u0432\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u043a \u043f\u0440\u0438\u0451\u043c\u0443 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439. \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d \u043c\u043e\u0434\u0435\u0440\u043d\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 API, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 zlib, \u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0451\u043d\u043d\u044b\u0439 \u0434\u043b\u044f \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u041a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 [&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-99458","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=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 zlib-ng 2.0 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u043c\u0435\u0447\u0435\u043d \u043a\u0430\u043a \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 (\u0441\u043b\u0435\u0434\u043e\u043c \u0443\u0436\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0432\u044b\u043f\u0443\u0441\u043a 2.0.1).\" \/>\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\/pt\/blog\/news\/pervyj-stabilnyj-vypusk-zlib-ng-vysokoproizvoditelnogo-forka-zlib\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\u0435\u0440\u0432\u044b\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a zlib-ng, \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0444\u043e\u0440\u043a\u0430 zlib | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 zlib-ng 2.0 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u043c\u0435\u0447\u0435\u043d \u043a\u0430\u043a \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 (\u0441\u043b\u0435\u0434\u043e\u043c \u0443\u0436\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0432\u044b\u043f\u0443\u0441\u043a 2.0.1).\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/news\/pervyj-stabilnyj-vypusk-zlib-ng-vysokoproizvoditelnogo-forka-zlib\" \/>\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=\"2021-03-17T14:22:53+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-03-17T14:22:53+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\udd47Primeira vers\u00e3o est\u00e1vel do zlib-ng, um fork de alto desempenho do zlib | ProHoster","description":"Est\u00e1 dispon\u00edvel o lan\u00e7amento da biblioteca zlib-ng 2.0, que \u00e9 marcada como a primeira vers\u00e3o est\u00e1vel do projeto (em seguida, j\u00e1 est\u00e1 dispon\u00edvel um lan\u00e7amento corretivo 2.0.1).","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/pervyj-stabilnyj-vypusk-zlib-ng-vysokoproizvoditelnogo-forka-zlib","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\u0435\u0440\u0432\u044b\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a zlib-ng, \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0444\u043e\u0440\u043a\u0430 zlib | ProHoster","og:description":"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 zlib-ng 2.0 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u043c\u0435\u0447\u0435\u043d \u043a\u0430\u043a \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 (\u0441\u043b\u0435\u0434\u043e\u043c \u0443\u0436\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0432\u044b\u043f\u0443\u0441\u043a 2.0.1).","og:url":"https:\/\/prohoster.info\/pt\/blog\/news\/pervyj-stabilnyj-vypusk-zlib-ng-vysokoproizvoditelnogo-forka-zlib","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":"2021-03-17T14:22:53+00:00","article:modified_time":"2021-03-17T14:22:53+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"99458","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-17 14:25:33","updated":"2022-10-07 21:08:41","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/99458","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=99458"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/99458\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=99458"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=99458"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=99458"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}