{"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\/cs\/blog\/news\/dlya-yadra-linux-predlozhena-realizacziya-funkczii-memchr-rabotayushhaya-do-4-raz-bystree","title":{"rendered":"Pro j\u00e1dro Linux byla navr\u017eena implementace funkce memchr, kter\u00e1 pracuje a\u017e 4kr\u00e1t rychleji","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Pro j\u00e1dro Linux byl navr\u017een soubor patch\u016f s optimalizovanou implementac\u00ed funkce memchr(), kter\u00e1 se pou\u017e\u00edv\u00e1 k vyhled\u00e1v\u00e1n\u00ed znaku v poli. Na rozd\u00edl od star\u0161\u00ed verze, kde se prov\u00e1d\u011blo porovn\u00e1v\u00e1n\u00ed po bajtech, je navr\u017een\u00e1 implementace postavena s ohledem na maxim\u00e1ln\u00ed vyu\u017eit\u00ed 64- a 32-bitov\u00fdch registr\u016f CPU. M\u00edsto bajt\u016f se porovn\u00e1v\u00e1 pomoc\u00ed strojov\u00fdch slov, co\u017e umo\u017e\u0148uje porovn\u00e1vat alespo\u0148 4 bajty najednou.    <\/p>\n<p>P\u0159i vyhled\u00e1v\u00e1n\u00ed ve velk\u00fdch \u0159et\u011bzc\u00edch nov\u00fd variant byl p\u0159ibli\u017en\u011b 4kr\u00e1t rychlej\u0161\u00ed ne\u017e star\u00fd (nap\u0159\u00edklad pro \u0159et\u011bzce o 1000 znac\u00edch). U men\u0161\u00edch \u0159et\u011bzc\u016f nen\u00ed \u00fa\u010dinnost nov\u00e9 implementace tak v\u00fdznamn\u00e1, ale st\u00e1le je vy\u0161\u0161\u00ed ne\u017e u p\u016fvodn\u00ed. V j\u00e1dru Linux dosahuje velikost zpracov\u00e1van\u00fdch \u0159et\u011bzc\u016f v memchr() 512 bajt\u016f. Zlep\u0161en\u00ed v\u00fdkonu pro 512-bajtov\u00e9 \u0159et\u011bzce, kdy\u017e se hledan\u00fd znak nach\u00e1z\u00ed na konci \u0159et\u011bzce, \u010din\u00ed 20%.     <\/p>\n<p>Testov\u00e1n\u00ed j\u00e1dra 5.18 s novou variantou \u00abmemchr()\u00bb pro 32- a 64bitov\u00e9 architektury neodhalilo \u017e\u00e1dn\u00e9 probl\u00e9my. Celkov\u00fd n\u00e1r\u016fst v\u00fdkonu subsyst\u00e9m\u016f j\u00e1dra p\u0159i pou\u017eit\u00ed optimalizovan\u00e9 varianty \u00abmemchr()\u00bb zat\u00edm nebyl vyhodnocen, stejn\u011b jako se neanalyzovala opr\u00e1vn\u011bnost nahrazen\u00ed implementace (v j\u00e1d\u0159e se funkce memchr() vyskytuje 129kr\u00e1t, v\u010detn\u011b k\u00f3du ovlada\u010d\u016f a souborov\u00fdch syst\u00e9m\u016f).<br \/>\n<br \/>Zdroj: <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.3 - 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\/cs\/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.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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\/cs\/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\udd47Pro j\u00e1dro Linux byla navr\u017eena implementace funkce memchr, kter\u00e1 pracuje a\u017e 4kr\u00e1t rychleji | ProHoster","description":"Pro j\u00e1dro Linux byl navr\u017een soubor patch\u016f s optimalizovanou implementac\u00ed funkce memchr(), kter\u00e1 se pou\u017e\u00edv\u00e1 k vyhled\u00e1v\u00e1n\u00ed znaku v poli.","canonical_url":"https:\/\/prohoster.info\/cs\/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":"cs_CZ","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\/cs\/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\/cs\/wp-json\/wp\/v2\/posts\/104635","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=104635"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/104635\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=104635"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=104635"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=104635"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}