{"id":104635,"date":"2022-07-12T09:36:46","date_gmt":"2022-07-12T07:36:46","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/dlya-yadra-linux-predlozhena-realizacziya-funkczii-memchr-rabotayushhaya-do-4-raz-bystree"},"modified":"2022-07-12T09:36:46","modified_gmt":"2022-07-12T07:36:46","slug":"dlya-yadra-linux-predlozhena-realizacziya-funkczii-memchr-rabotayushhaya-do-4-raz-bystree","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/news\/dlya-yadra-linux-predlozhena-realizacziya-funkczii-memchr-rabotayushhaya-do-4-raz-bystree","title":{"rendered":"En implementation av funktionen memchr f\u00f6r Linux-k\u00e4rnan har f\u00f6reslagits som fungerar upp till 4 g\u00e5nger snabbare","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>F\u00f6r att inkludera i Linux-k\u00e4rnan har ett paket med patchar f\u00f6reslagits med en optimerad implementering av funktionen memchr(), som anv\u00e4nds f\u00f6r att s\u00f6ka efter ett tecken i en array. Till skillnad fr\u00e5n den gamla varianten, d\u00e4r byte-j\u00e4mf\u00f6relse anv\u00e4ndes, \u00e4r den f\u00f6reslagna implementeringen byggd med full anv\u00e4ndning av 64- och 32-bitars CPU-register. Ist\u00e4llet f\u00f6r byte j\u00e4mf\u00f6rs med hj\u00e4lp av maskinord, vilket g\u00f6r att minst 4 byte kan j\u00e4mf\u00f6ras \u00e5t g\u00e5ngen.    <\/p>\n<p>Vid s\u00f6kning i stora str\u00e4ngar visade den nya varianten sig vara ungef\u00e4r 4 g\u00e5nger snabbare \u00e4n den gamla (till exempel f\u00f6r str\u00e4ngar med 1000 tecken). F\u00f6r str\u00e4ngar av mindre storlek \u00e4r effektiviteten hos den nya implementeringen inte s\u00e5 betydande, men den \u00e4r fortfarande h\u00f6gre j\u00e4mf\u00f6rt med den ursprungliga varianten. I Linux-k\u00e4rnan n\u00e5r storleken p\u00e5 str\u00e4ngarna som bearbetas i memchr() upp till 512 byte. Prestandaf\u00f6rb\u00e4ttringen f\u00f6r 512-byte-str\u00e4ngar, i situationer d\u00e4r det s\u00f6kta tecknet finns i slutet av str\u00e4ngen, uppg\u00e5r till 20%.     <\/p>\n<p>Test av k\u00e4rnan 5.18 med den nya varianten &#171;memchr()&#187; f\u00f6r 32- och 64-bits arkitekturer har inte uppvisat n\u00e5gra problem. Den totala prestandaf\u00f6rb\u00e4ttringen av k\u00e4rnans delsystem vid anv\u00e4ndning av den optimerade varianten &#171;memchr()&#187; har \u00e4nnu inte bed\u00f6mts, och \u00e4ndam\u00e5lsenligheten av att ers\u00e4tta implementationen har inte analyserats (i k\u00e4rnans kod f\u00f6rekommer anropet av funktionen memchr() 129 g\u00e5nger, inklusive i drivrutiner och filsystem).<br \/>\n<br \/>K\u00e4lla: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=57493\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 \u044f\u0434\u0440\u0430 Linux \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d \u043d\u0430\u0431\u043e\u0440 \u043f\u0430\u0442\u0447\u0435\u0439 \u0441 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 memchr(), \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u0439 \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u043b\u043e\u0441\u044c \u043f\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u043e\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0441 \u0443\u0447\u0451\u0442\u043e\u043c \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f 64- \u0438 32-\u0440\u0430\u0437\u0440\u044f\u0434\u043d\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 CPU. \u0412\u043c\u0435\u0441\u0442\u043e \u0431\u0430\u0439\u0442\u043e\u0432 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0445 \u0441\u043b\u043e\u0432, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430 \u0440\u0430\u0437 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c [&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-104635","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=\"\u0414\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 \u044f\u0434\u0440\u0430 Linux \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d \u043d\u0430\u0431\u043e\u0440 \u043f\u0430\u0442\u0447\u0435\u0439 \u0441 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 memchr(), \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u0439 \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435.\" \/>\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\/dlya-yadra-linux-predlozhena-realizacziya-funkczii-memchr-rabotayushhaya-do-4-raz-bystree\" \/>\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\u0414\u043b\u044f \u044f\u0434\u0440\u0430 Linux \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 memchr, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0430\u044f \u0434\u043e 4 \u0440\u0430\u0437 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 \u044f\u0434\u0440\u0430 Linux \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d \u043d\u0430\u0431\u043e\u0440 \u043f\u0430\u0442\u0447\u0435\u0439 \u0441 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 memchr(), \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u0439 \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/news\/dlya-yadra-linux-predlozhena-realizacziya-funkczii-memchr-rabotayushhaya-do-4-raz-bystree\" \/>\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=\"2022-07-12T07:36:46+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-07-12T07:36:46+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\udd47 En implementation av funktionen memchr f\u00f6r Linux-k\u00e4rnan, som \u00e4r upp till 4 g\u00e5nger snabbare | ProHoster","description":"F\u00f6r att inkludera i Linux-k\u00e4rnan har ett paket med patchar f\u00f6reslagits med en optimerad implementering av funktionen memchr(), som anv\u00e4nds f\u00f6r att s\u00f6ka efter ett tecken i en array.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/news\/dlya-yadra-linux-predlozhena-realizacziya-funkczii-memchr-rabotayushhaya-do-4-raz-bystree","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\u0414\u043b\u044f \u044f\u0434\u0440\u0430 Linux \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 memchr, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0430\u044f \u0434\u043e 4 \u0440\u0430\u0437 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 | ProHoster","og:description":"\u0414\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 \u044f\u0434\u0440\u0430 Linux \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d \u043d\u0430\u0431\u043e\u0440 \u043f\u0430\u0442\u0447\u0435\u0439 \u0441 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 memchr(), \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u0439 \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435.","og:url":"https:\/\/prohoster.info\/sv\/blog\/news\/dlya-yadra-linux-predlozhena-realizacziya-funkczii-memchr-rabotayushhaya-do-4-raz-bystree","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":"2022-07-12T07:36:46+00:00","article:modified_time":"2022-07-12T07:36:46+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"104635","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":"default","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":"2022-07-12 07:37:45","updated":"2022-10-12 14:07:35","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\/104635","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=104635"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/104635\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=104635"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=104635"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=104635"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}