{"id":152471,"date":"2025-12-23T23:12:03","date_gmt":"2025-12-23T21:12:03","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/osnovatel-qemu-i-ffmpeg-opublikoval-javascript-dvizhok-micro-quickjs"},"modified":"2025-12-23T23:12:03","modified_gmt":"2025-12-23T21:12:03","slug":"osnovatel-qemu-i-ffmpeg-opublikoval-javascript-dvizhok-micro-quickjs","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/osnovatel-qemu-i-ffmpeg-opublikoval-javascript-dvizhok-micro-quickjs","title":{"rendered":"Le fondateur de QEMU et FFmpeg a publi\u00e9 le moteur JavaScript Micro QuickJS.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Le math\u00e9maticien fran\u00e7ais Fabrice Bellard, qui a fond\u00e9 \u00e0 son \u00e9poque les projets QEMU, FFmpeg, BPG, QuickJS, TinyGL et TinyCC, a publi\u00e9 un nouveau moteur JavaScript pour syst\u00e8mes embarqu\u00e9s \u2014 Micro QuickJS, capable de compiler et d'ex\u00e9cuter des programmes JavaScript tout en consommant seulement 10 Ko de RAM. Avec la biblioth\u00e8que en C, le moteur occupe environ 100 Ko de m\u00e9moire permanente. Il est possible de compiler JavaScript en bytecode et d'ex\u00e9cuter ce bytecode s\u00e9par\u00e9ment. Le code du projet est \u00e9crit en C et est distribu\u00e9 sous la licence MIT.    <\/p>\n<p>Le moteur prend en charge un sous-ensemble du langage JavaScript, proche de la sp\u00e9cification ECMAScript 5 (ES2019), mais imposant des exigences plus strictes au code et n'autorisant pas l'utilisation de certaines constructions JavaScript inefficaces ou susceptibles de provoquer des erreurs. Par exemple, les variables globales doivent imp\u00e9rativement \u00eatre d\u00e9clar\u00e9es avec le mot-cl\u00e9 \u00ab var \u00bb, l'utilisation de \u00ab with \u00bb est interdite, les tableaux ne peuvent pas avoir d'espaces vides, l'initialisation lors de la d\u00e9claration sous la forme \u00ab new Number(1) \u00bb n'est pas possible, et l'acc\u00e8s aux variables locales via eval est impossible.            <\/p>\n<p>Les performances de Micro QuickJS sont comparables \u00e0 celles du moteur QuickJS, d\u00e9velopp\u00e9 par Fabrice depuis 2019. Micro QuickJS utilise une partie du code du moteur QuickJS, mais son architecture est largement diff\u00e9rente et con\u00e7ue pour minimiser la consommation de m\u00e9moire. Par exemple, Micro QuickJS utilise un ramasse-miettes tra\u00e7ant, tandis que QuickJS repose sur le comptage de r\u00e9f\u00e9rences. Le co\u00fbt du ramasse-miettes n'est que de quelques bits par bloc de m\u00e9moire allou\u00e9. Un allocateur propri\u00e9taire est utilis\u00e9 pour l'allocation de m\u00e9moire, ind\u00e9pendamment de la fonction de biblioth\u00e8que malloc().    <\/p>\n<p>Autres diff\u00e9rences avec QuickJS : pas d'utilisation de la pile ; repr\u00e9sentation interne des objets diff\u00e9rente ; stockage des cha\u00eenes en UTF-8 ; g\u00e9n\u00e9ration de la biblioth\u00e8que standard lors de la compilation et son stockage en m\u00e9moire permanente, ne cr\u00e9ant que quelques objets en RAM ; un analyseur proche de QuickJS, mais ne utilisant pas la r\u00e9cursion ; combinaison en un seul passage de la g\u00e9n\u00e9ration du bytecode et de l'optimisation (QuickJS n\u00e9cessite plusieurs passages pour l'optimisation). <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/fr\/vps\/abuzoustojchivye-vps\/\"   title=\"machine virtuelle\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4209\">machine virtuelle<\/a>Publi\u00e9 postmarketOS 25.12, une distribution Linux pour smartphones et appareils mobiles.<br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=64483\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0424\u0440\u0430\u043d\u0446\u0443\u0437\u0441\u043a\u0438\u0439 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a \u0424\u0430\u0431\u0440\u0438\u0441 \u0411\u0435\u043b\u043b\u0430\u0440 (Fabrice Bellard), \u043e\u0441\u043d\u043e\u0432\u0430\u0432\u0448\u0438\u0439 \u0432 \u0441\u0432\u043e\u0451 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u044b QEMU, FFmpeg, BPG, QuickJS, TinyGL \u0438 TinyCC, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u043d\u043e\u0432\u044b\u0439 JavaScript-\u0434\u0432\u0438\u0436\u043e\u043a \u0434\u043b\u044f \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c &#8212; Micro QuickJS, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c JavaScript-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u044f \u0432\u0441\u0435\u0433\u043e 10 \u041a\u0411 \u041e\u0417\u0423. \u0412\u043c\u0435\u0441\u0442\u0435 \u0441 \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 \u0434\u0432\u0438\u0436\u043e\u043a \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 100 \u041a\u0411 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f JavaScript \u0432 \u0431\u0430\u0439\u0442\u043a\u043e\u0434 \u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a [&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-152471","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0424\u0440\u0430\u043d\u0446\u0443\u0437\u0441\u043a\u0438\u0439 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a \u0424\u0430\u0431\u0440\u0438\u0441 \u0411\u0435\u043b\u043b\u0430\u0440 (Fabrice Bellard), \u043e\u0441\u043d\u043e\u0432\u0430\u0432\u0448\u0438\u0439 \u0432 \u0441\u0432\u043e\u0451 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u044b QEMU, FFmpeg, BPG, QuickJS, TinyGL \u0438 TinyCC, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u043d\u043e\u0432\u044b\u0439 JavaScript-\u0434\u0432\u0438\u0436\u043e\u043a \u0434\u043b\u044f \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c - Micro QuickJS.\" \/>\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\/osnovatel-qemu-i-ffmpeg-opublikoval-javascript-dvizhok-micro-quickjs\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\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\u041e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c QEMU \u0438 FFmpeg \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b JavaScript-\u0434\u0432\u0438\u0436\u043e\u043a Micro QuickJS | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0424\u0440\u0430\u043d\u0446\u0443\u0437\u0441\u043a\u0438\u0439 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a \u0424\u0430\u0431\u0440\u0438\u0441 \u0411\u0435\u043b\u043b\u0430\u0440 (Fabrice Bellard), \u043e\u0441\u043d\u043e\u0432\u0430\u0432\u0448\u0438\u0439 \u0432 \u0441\u0432\u043e\u0451 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u044b QEMU, FFmpeg, BPG, QuickJS, TinyGL \u0438 TinyCC, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u043d\u043e\u0432\u044b\u0439 JavaScript-\u0434\u0432\u0438\u0436\u043e\u043a \u0434\u043b\u044f \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c - Micro QuickJS.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/osnovatel-qemu-i-ffmpeg-opublikoval-javascript-dvizhok-micro-quickjs\" \/>\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=\"2025-12-23T21:12:03+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-12-23T21:12:03+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\udd47Le fondateur de QEMU et FFmpeg a publi\u00e9 le moteur JavaScript Micro QuickJS | ProHoster","description":"Le math\u00e9maticien fran\u00e7ais Fabrice Bellard, fondateur \u00e0 l'\u00e9poque des projets QEMU, FFmpeg, BPG, QuickJS, TinyGL et TinyCC, a publi\u00e9 un nouveau moteur JavaScript pour syst\u00e8mes embarqu\u00e9s - Micro QuickJS.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/osnovatel-qemu-i-ffmpeg-opublikoval-javascript-dvizhok-micro-quickjs","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\u041e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c QEMU \u0438 FFmpeg \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b JavaScript-\u0434\u0432\u0438\u0436\u043e\u043a Micro QuickJS | ProHoster","og:description":"\u0424\u0440\u0430\u043d\u0446\u0443\u0437\u0441\u043a\u0438\u0439 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a \u0424\u0430\u0431\u0440\u0438\u0441 \u0411\u0435\u043b\u043b\u0430\u0440 (Fabrice Bellard), \u043e\u0441\u043d\u043e\u0432\u0430\u0432\u0448\u0438\u0439 \u0432 \u0441\u0432\u043e\u0451 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u044b QEMU, FFmpeg, BPG, QuickJS, TinyGL \u0438 TinyCC, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u043d\u043e\u0432\u044b\u0439 JavaScript-\u0434\u0432\u0438\u0436\u043e\u043a \u0434\u043b\u044f \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c - Micro QuickJS.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/osnovatel-qemu-i-ffmpeg-opublikoval-javascript-dvizhok-micro-quickjs","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":"2025-12-23T21:12:03+00:00","article:modified_time":"2025-12-23T21:12:03+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"152471","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":"2026-01-20 13:46:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-20 13:46:19","updated":"2026-01-20 13:46: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\/152471","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=152471"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/152471\/revisions"}],"predecessor-version":[{"id":164084,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/152471\/revisions\/164084"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=152471"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=152471"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=152471"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}