{"id":38045,"date":"2019-10-31T22:21:21","date_gmt":"2019-10-31T19:21:21","guid":{"rendered":"https:\/\/prohoster.info\/blog\/sravnenie-proizvoditelnosti-setevogo-drajvera-v-variantah-na-10-yazykah-programmirovaniya\/"},"modified":"2019-10-31T22:21:21","modified_gmt":"2019-10-31T19:21:21","slug":"sravnenie-proizvoditelnosti-setevogo-drajvera-v-variantah-na-10-yazykah-programmirovaniya","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/sravnenie-proizvoditelnosti-setevogo-drajvera-v-variantah-na-10-yazykah-programmirovaniya","title":{"rendered":"Comparaison de la performance du pilote r\u00e9seau dans 10 langages de programmation","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Un groupe de chercheurs provenant d'universit\u00e9s allemandes <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ixy-languages\/ixy-languages\">a publi\u00e9<\/a><\/noindex> des r\u00e9sultats <noindex><a rel=\"nofollow\" href=\"https:\/\/www.net.in.tum.de\/fileadmin\/bibtex\/publications\/papers\/the-case-for-writing-network-drivers-in-high-level-languages.pdf\">a men\u00e9 une exp\u00e9rience<\/a><\/noindex>, au cours de laquelle dix variantes d'un pilote standard pour cartes r\u00e9seau Intel Ixgbe (X5xx) ont \u00e9t\u00e9 d\u00e9velopp\u00e9es dans diff\u00e9rents langages de programmation. Le pilote fonctionne en espace utilisateur et est impl\u00e9ment\u00e9 en C, Rust, Go, C#, Java, OCaml, Haskell, Swift, JavaScript et Python. Lors de la r\u00e9daction du code, l'accent a \u00e9t\u00e9 mis sur l'atteinte de la performance maximale en tenant compte des sp\u00e9cificit\u00e9s de chaque langage. En termes de fonctionnalit\u00e9, toutes les variantes sont identiques et contiennent environ 1000 lignes de code. Les d\u00e9veloppements du projet <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ixy-languages\">sont distribu\u00e9s<\/a><\/noindex> sous licence BSD.<\/p>\n<p>La variante du pilote en Rust s'est r\u00e9v\u00e9l\u00e9e tr\u00e8s proche en performance du pilote de r\u00e9f\u00e9rence en C. Lors d'une charge avec l'envoi simultan\u00e9 de blocs de 32 paquets, le pilote Rust accusait l\u00e9g\u00e8rement du retard, mais lors de tests avec plus de 32 paquets dans le bloc, il ne diff\u00e9rait pratiquement pas du pilote en C et d\u00e9montrait une performance de traitement de 28 millions de paquets par seconde sur un serveur \u00e9quip\u00e9 d'un CPU Xeon E3-1230 v2 \u00e0 3,3 GHz.<\/p>\n<p><center><noindex><a rel=\"nofollow\" href=\"https:\/\/raw.githubusercontent.com\/ixy-languages\/ixy-languages\/master\/img\/batches-3.3.png\"><img decoding=\"async\" alt=\"Comparaison de la performance du pilote r\u00e9seau dans 10 langages de programmation\" src=\"\/wp-content\/uploads\/2019\/09\/6743526dce7065ae7c32aa04e829743f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/center><\/p>\n<p>La prochaine position en termes de performance a \u00e9t\u00e9 occup\u00e9e par les pilotes en Go et C#, qui ont montr\u00e9 des r\u00e9sultats assez proches (le pilote en Go gagnait lors des tests avec des blocs contenant jusqu'\u00e0 16 paquets, mais commen\u00e7ait \u00e0 perdre lors des tests avec plus de 16 paquets dans le bloc). Lors de tests avec des blocs de 256 paquets, le pic de performance du pilote en C# atteignait environ 28 millions de paquets par seconde, tandis que le pilote en Go atteignait environ 25 millions de paquets par seconde. <\/p>\n<p>Suivaient ensuite, avec des r\u00e9sultats relativement proches, les pilotes en<br \/>\nJava, OCaml et Haskell, qui \u00e9taient d\u00e9j\u00e0 nettement \u00e0 la tra\u00eene par rapport aux options pr\u00e9c\u00e9demment examin\u00e9es et n'ont pas r\u00e9ussi \u00e0 d\u00e9passer la barre des 12 millions de paquets par seconde. Les pilotes en Swift et JavaScript ont montr\u00e9 un retard encore plus marqu\u00e9, ne pouvant traiter des flux qu'\u00e0 un niveau de 5 millions de paquets par seconde. <\/p>\n<p>Cl\u00f4turant le classement, le pilote en Python a pu traiter seulement 0,14 million de paquets par seconde. L'impl\u00e9mentation en Python a \u00e9t\u00e9 utilis\u00e9e pour \u00e9valuer la vitesse de fonctionnement des interpr\u00e8tes sans JIT et sans optimisations sp\u00e9cifiques (le code a \u00e9t\u00e9 ex\u00e9cut\u00e9 avec CPython 3.7 et n'\u00e9tait pas compatible avec PyPy, mais il est not\u00e9 que l'optimisation des structures de donn\u00e9es pourrait augmenter la performance d'environ 10 fois).<\/p>\n<p>Des tests suppl\u00e9mentaires sur le temps de latence ont \u00e9t\u00e9 effectu\u00e9s, montrant l'efficacit\u00e9 de la mise en m\u00e9moire tampon et l'impact du ramasse-miettes. Lors des tests, la latence a \u00e9t\u00e9 mesur\u00e9e apr\u00e8s le redirectionnement de chaque paquet par le pilote par rapport \u00e0 l'heure d'envoi pr\u00e9cis\u00e9ment connue. Les pilotes en C et Rust demeurent les leaders, leurs r\u00e9sultats \u00e9tant pratiquement indistinguables pour un flux de 1 million de paquets par seconde (environ 20 \u03bcs). Le pilote en Go a \u00e9galement bien perform\u00e9, n'\u00e9tant qu'un peu en retard par rapport aux leaders et maintenant un niveau autour de 20 \u03bcs. Le pilote en C# a montr\u00e9 des latences d'environ 50 \u03bcs.<br \/>\nLes plus grandes latences ont \u00e9t\u00e9 observ\u00e9es avec les pilotes en JavaScript et Java (latences sup\u00e9rieures \u00e0 300 \u03bcs).<\/p>\n<p><center><noindex><a rel=\"nofollow\" href=\"https:\/\/raw.githubusercontent.com\/ixy-languages\/ixy-languages\/master\/img\/latency-hdr-hist-1.png\"><img decoding=\"async\" alt=\"Comparaison de la performance du pilote r\u00e9seau dans 10 langages de programmation\" src=\"\/wp-content\/uploads\/2019\/09\/d6a5310b9985ff4598896d533dc2d398.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/center><\/p>\n<p>Cette recherche a \u00e9t\u00e9 r\u00e9alis\u00e9e afin d'\u00e9valuer la possibilit\u00e9 de d\u00e9velopper des pilotes et des composants du syst\u00e8me d'exploitation dans des langages de niveau sup\u00e9rieur \u00e0 C. Actuellement, 39 des 40 probl\u00e8mes de gestion de la m\u00e9moire sous Linux sont li\u00e9s aux pilotes, donc les questions d'application d'un langage plus s\u00fbr et de d\u00e9placement des pilotes de noyau vers l'espace utilisateur <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51401\">restent d'actualit\u00e9.<\/a><\/noindex> Les fabricants exp\u00e9rimentent d\u00e9j\u00e0 activement dans ce domaine (par exemple, Google a d\u00e9velopp\u00e9 une pile TCP pour le syst\u00e8me d'exploitation <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51000\">Fuchsia<\/a><\/noindex> en Go, la soci\u00e9t\u00e9 CloudFlare <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50061\">a cr\u00e9\u00e9<\/a><\/noindex> a impl\u00e9ment\u00e9 le protocole QUIC en Rust, et Apple a d\u00e9plac\u00e9 sa pile TCP sur les appareils mobiles dans l'espace utilisateur).<\/p>\n<p>Dans le cadre de cette recherche, il a \u00e9t\u00e9 conclu que le langage Rust est le meilleur candidat pour le d\u00e9veloppement de pilotes. Les fonctionnalit\u00e9s offertes par Rust permettent de se d\u00e9barrasser des probl\u00e8mes li\u00e9s \u00e0 la gestion de la m\u00e9moire \u00e0 bas niveau, \u00e0 un co\u00fbt de r\u00e9duction de performance d'environ 2 \u00e0 10% par rapport aux pilotes en C. Les langages Go et C# sont \u00e9galement jug\u00e9s adapt\u00e9s \u00e0 la cr\u00e9ation de composants syst\u00e8me, dans des situations o\u00f9 des d\u00e9lais au niveau des fractions de milliseconde, caus\u00e9s par le ramasse-miettes, sont acceptables.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Source : <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51475\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0413\u0440\u0443\u043f\u043f\u0430 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438\u0437 \u043d\u0435\u043c\u0435\u0446\u043a\u0438\u0445 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442\u043e\u0432 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430, \u0432 \u0445\u043e\u0434\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u044b\u043b\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043e 10 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0442\u0438\u043f\u043e\u0432\u043e\u0433\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0434\u043b\u044f 10-\u0433\u0438\u0433\u0430\u0431\u0438\u0442\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043a\u0430\u0440\u0442 Intel Ixgbe (X5xx). \u0414\u0440\u0430\u0439\u0432\u0435\u0440 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 C, Rust, Go, C#, Java, OCaml, Haskell, Swift, JavaScript \u0438 Python. \u041f\u0440\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u043a\u043e\u0434\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0443\u0434\u0435\u043b\u044f\u043b\u043e\u0441\u044c \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28556,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-38045","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0413\u0440\u0443\u043f\u043f\u0430 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438\u0437 \u043d\u0435\u043c\u0435\u0446\u043a\u0438\u0445 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442\u043e\u0432 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b\" \/>\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\/fr\/blog\/news\/sravnenie-proizvoditelnosti-setevogo-drajvera-v-variantah-na-10-yazykah-programmirovaniya\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\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\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0432 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u0445 \u043d\u0430 10 \u044f\u0437\u044b\u043a\u0430\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0413\u0440\u0443\u043f\u043f\u0430 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438\u0437 \u043d\u0435\u043c\u0435\u0446\u043a\u0438\u0445 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442\u043e\u0432 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/sravnenie-proizvoditelnosti-setevogo-drajvera-v-variantah-na-10-yazykah-programmirovaniya\" \/>\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=\"2019-10-31T19:21:21+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:21:21+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\udd47Comparaison des performances des pilotes r\u00e9seau dans des variantes sur 10 langages de programmation | ProHoster","description":"Un groupe de chercheurs d'universit\u00e9s allemandes a publi\u00e9 les r\u00e9sultats","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/sravnenie-proizvoditelnosti-setevogo-drajvera-v-variantah-na-10-yazykah-programmirovaniya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","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\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0432 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u0445 \u043d\u0430 10 \u044f\u0437\u044b\u043a\u0430\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f | ProHoster","og:description":"\u0413\u0440\u0443\u043f\u043f\u0430 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438\u0437 \u043d\u0435\u043c\u0435\u0446\u043a\u0438\u0445 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442\u043e\u0432 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/sravnenie-proizvoditelnosti-setevogo-drajvera-v-variantah-na-10-yazykah-programmirovaniya","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":"2019-10-31T19:21:21+00:00","article:modified_time":"2019-10-31T19:21:21+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38045","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":"2026-01-23 20:15:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 17:30:21","updated":"2026-01-23 20:15:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/38045","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=38045"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/38045\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/28556"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=38045"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=38045"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=38045"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}