{"json_modified": "2016-09-21T04:46:39.265576", "uuid": "9a0553ed-3caa-4311-a1e1-b2a975e44674", "title": "Optimizing your pages for speculative parsing", "url": "/en-US/docs/Web/HTML/Optimizing_your_pages_for_speculative_parsing", "tags": ["NeedsUpdate", "Advanced", "HTML", "HTML5", "Web Development"], "translations": [{"uuid": "06d42579-b96b-483d-810d-9d861528de31", "title": "Optimizar sus p\u00e1ginas para an\u00e1lisis especulativo", "url": "/es/docs/Web/HTML/Optimizing_your_pages_for_speculative_parsing", "tags": ["Avanzado", "HTML", "HTML5", "Desarrollo web"], "summary": "Tradicionalmente en los navegadores el analizador de HTML corre en el hilo de ejecuci\u00f3n principal y se queda bloqueado despu\u00e9s de una etiqueta hasta que el c\u00f3digo se haya recuperado y ejecutado. El analizador de HTML de Firefox 4 y posteriores soporta an\u00e1lisis especulativo fuera del hilo de ejecuci\u00f3n principal. Este\u00a0analiza anticipadamente mientras el codigo est\u00e1 siendo\u00a0descargado y ejecutado. Como en Firefox 3.5 y 3.6, el analizador de HTML es el que inicia la carga especulativa de c\u00f3digo, las hojas de estilos y las imagenes que va encontrando en el flujo de la p\u00e1gina. Sinembargo en Firefox 4 y posteriores el analizador de HTML tambi\u00e9n ejecuta el algoritmo especulativo de la contrucci\u00f3n del \u00e1rbol HTML. La ventaja es que cuando lo especulado tiene exito, no hay necesidad de reanalizar la parte del archivo de entrada que ya fue analizada junto la descarga de\u00a0c\u00f3digo, \u00a0hojas de estilo y las im\u00e1genes. La desventaja es que se ha realizado un trabajo in\u00fatil cuando la especulaci\u00f3n fracasa.", "localization_tags": ["inprogress"], "locale": "es", "last_edit": "2015-12-30T15:48:47", "review_tags": []}, {"uuid": "81d14b6b-4925-4662-bf5f-f509e13a84b7", "title": "Optimizing your pages for speculative parsing", "url": "/fr/docs/Web/HTML/Optimizing_your_pages_for_speculative_parsing", "tags": [], "summary": "Traditionally in browsers the HTML\u00a0parser has run on the main thread and has blocked after a </script>
tag until the script has been retrieved from the network and executed. The HTML parser in Firefox 4 and later supports speculative parsing off the main thread. It parses ahead while scripts are being downloaded and executed. As in Firefox 3.5 and 3.6, the HTML parser starts speculative loads for scripts, style sheets and images it finds ahead in the stream. However, in Firefox 4 and later the HTML parser also runs the HTML tree construction algorithm speculatively. The upside is that when a speculation succeeds, there's no need to reparse the part of the incoming file that was already scanned for scripts, style sheets and images. The downside is that there's more work lost when the speculation fails.", "localization_tags": ["inprogress"], "locale": "fr", "last_edit": "2014-09-27T02:02:13", "review_tags": []}, {"uuid": "27b7c475-337a-476a-b0ed-c6ab9e7bb47f", "title": "Optimizing your pages for speculative parsing", "url": "/pt-BR/docs/Web/HTML/Optimizing_your_pages_for_speculative_parsing", "tags": [], "summary": "Traditionally in browsers the HTML\u00a0parser has run on the main thread and has blocked after a </script>
tag until the script has been retrieved from the network and executed. The HTML parser in Firefox 4 and later supports speculative parsing off the main thread. It parses ahead while scripts are being downloaded and executed. As in Firefox 3.5 and 3.6, the HTML parser starts speculative loads for scripts, style sheets and images it finds ahead in the stream. However, in Firefox 4 and later the HTML parser also runs the HTML tree construction algorithm speculatively. The upside is that when a speculation succeeds, there's no need to reparse the part of the incoming file that was already scanned for scripts, style sheets and images. The downside is that there's more work lost when the speculation fails.", "localization_tags": [], "locale": "pt-BR", "last_edit": "2014-06-24T05:49:18", "review_tags": []}, {"uuid": "c405144a-e883-421c-8a4c-0ee6b84a931f", "title": "\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0412\u0430\u0448\u0438\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0434\u043b\u044f \u0440\u0438\u0441\u043a\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430", "url": "/ru/docs/Web/HTML/Optimizing_Your_Pages_for_Speculative_Parsing", "tags": ["\u0412\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430", "HTML", "HTML5", "\u041f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0439"], "summary": "\u0422\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e, HTML-\u043f\u0430\u0440\u0441\u0435\u0440 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\u0445 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0432\u0435\u0442\u043a\u0435\u00a0\u0438 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435 \u0442\u0435\u0433\u0430\u00a0</script>
, \u043f\u043e\u043a\u0430 \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0441\u044f \u0438 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0441\u044f. HTML-\u043f\u0430\u0440\u0441\u0435\u0440 \u0432 Firefox 4 \u0438 \u043d\u043e\u0432\u0435\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0440\u0438\u0441\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u0430\u0440\u0441\u0438\u043d\u0433 \u0432\u043d\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0432\u0435\u0442\u043a\u0438. \u041e\u043d \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442 \u043f\u0430\u0440\u0441\u0438\u0442\u044c, \u043f\u043e\u043a\u0430 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044e\u0442\u0441\u044f \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f. \u0412 Firefox 3.5 \u0438 3.6 \u043f\u0430\u0440\u0441\u0435\u0440 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0440\u0438\u0441\u043a\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443\u00a0\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432, \u0441\u0442\u0438\u043b\u0435\u0439 \u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u0438\u0445. \u041e\u0434\u043d\u0430\u043a\u043e,\u00a0\u0432 Firefox 4 \u0438 \u043d\u043e\u0432\u0435\u0435 HTML-\u043f\u0430\u0440\u0441\u0435\u0440 \u0442\u0430\u043a\u0436\u0435 \u0440\u0438\u0441\u043a\u043e\u0432\u0430\u043d\u043d\u043e\u00a0\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043f\u043e\u0441\u0442\u0440\u043e\u0439\u043a\u0438\u00a0\u0434\u0435\u0440\u0435\u0432\u0430\u00a0HTML. \u0421 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u043a\u043e\u0433\u0434\u0430 \u0440\u0438\u0441\u043a \u043e\u043f\u0440\u0430\u0432\u0434\u0430\u043b\u0441\u044f, \u043d\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u0440\u0435\u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0435 \u0447\u0430\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0443\u0436\u0435 \u0431\u044b\u043b\u0430 \u043f\u0440\u043e\u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u043d\u0430 \u0441\u043a\u0440\u0438\u043f\u0442\u044b, \u0441\u0442\u0438\u043b\u0438 \u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f. \u0421 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u043a\u043e\u0433\u0434\u0430 \u0440\u0438\u0441\u043a \u043d\u0435 \u043e\u043f\u0440\u0430\u0432\u0434\u0430\u043b\u0441\u044f, HTML-\u043f\u0430\u0440\u0441\u0435\u0440\u0443 \u0434\u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0431\u043e\u043b\u044c\u0448\u0435 \u0440\u0430\u0431\u043e\u0442\u044b.", "localization_tags": [], "locale": "ru", "last_edit": "2016-09-21T04:46:38", "review_tags": []}, {"uuid": "621ad60d-7a36-4317-8fdd-9500fc849549", "title": "\u5bf9\u9875\u9762\u9884\u89e3\u6790\u8fdb\u884c\u4f18\u5316", "url": "/zh-CN/docs/Web/HTML/Optimizing_your_pages_for_speculative_parsing", "tags": [], "summary": "\u5728\u4f20\u7edf\u7684\u6d4f\u89c8\u5668\u4e2d\uff0cHTML \u89e3\u6790\u5668\u8fd0\u884c\u4e8e\u4e3b\u7ebf\u7a0b\u4e4b\u4e2d\uff0c\u5e76\u4e14\u5728\u9047\u5230 \u6807\u7b7e\u540e\u4f1a\u88ab\u963b\u585e\uff0c\u76f4\u5230\u811a\u672c\u4ece\u7f51\u7edc\u4e2d\u88ab\u83b7\u53d6\u548c\u6267\u884c\u3002 Firefox 4 \u548c\u540e\u7eed\u7684\u7248\u672c\u652f\u6301\u4ece\u4e3b\u7ebf\u7a0b\u4e2d\u5206\u79bb\u7684\u9884\u89e3\u6790\u6280\u672f\u3002 \u5f53\u811a\u672c\u5728\u83b7\u53d6\u548c\u6267\u884c\u7684\u8fc7\u7a0b\u4e2d\uff0c\u9884\u89e3\u6790\u6280\u672f\u80fd\u63d0\u524d\u89e3\u6790HTML\u6587\u6863\u3002\u5728Firefox 3.5 \u548c 3.6\u4e2d, HTML \u89e3\u6790\u5668\u80fd\u591f\u5728\u6587\u6863\u6d41\u4e2d\u9884\u5148\u52a0\u8f7d\u811a\u672c\u3001\u5c42\u53e0\u6837\u5f0f\u8868\u548c\u56fe\u7247\u3002\u7136\u800c, \u5728Firefox 4 \u548c\u540e\u7eed\u7684\u7248\u672c\u4e2d HTML \u89e3\u6790\u5668\u4e5f\u9884\u5148\u8fd0\u884cHTML \u6811\u6784\u5efa\u7b97\u6cd5\u3002 \u8fd9\u4e00\u4e3e\u63aa\u7684\u4f18\u70b9\u662f\u5f53\u9884\u89e3\u6790\u6210\u529f\u540e\uff0c\u5c31\u6ca1\u6709\u5fc5\u8981\u518d\u91cd\u65b0\u89e3\u6790\u5df2\u7ecf\u626b\u63cf\u8fc7\u5e76\u4e14\u6210\u529f\u4e0b\u8f7d\u7684\u811a\u672c\uff0c\u5c42\u53e0\u6837\u5f0f\u8868\u548c\u56fe\u7247\uff1b\u7f3a\u70b9\u5c31\u662f\u5f53\u9884\u89e3\u6790\u5931\u8d25\u4e4b\u540e\uff0c\u6709\u5f88\u591a\u5de5\u4f5c\u9700\u8981\u53bb\u505a\u3002", "localization_tags": [], "locale": "zh-CN", "last_edit": "2016-05-06T06:43:49", "review_tags": ["editorial"]}], "modified": "2015-01-14T18:42:22", "label": "Optimizing your pages for speculative parsing", "localization_tags": [], "locale": "en-US", "id": 2498, "last_edit": "2015-01-14T18:42:22", "summary": "Traditionally in browsers the HTML\u00a0parser has run on the main thread and has blocked after a </script>
tag until the script has been retrieved from the network and executed. The HTML parser in Firefox 4 and later supports speculative parsing off the main thread. It parses ahead while scripts are being downloaded and executed. As in Firefox 3.5 and 3.6, the HTML parser starts speculative loads for scripts, style sheets and images it finds ahead in the stream. However, in Firefox 4 and later the HTML parser also runs the HTML tree construction algorithm speculatively. The upside is that when a speculation succeeds, there's no need to reparse the part of the incoming file that was already scanned for scripts, style sheets and images. The downside is that there's more work lost when the speculation fails.", "sections": [{"id": "Making_speculative_loads_succeed", "title": "Making speculative loads succeed"}, {"id": "Avoiding_losing_tree_builder_output", "title": "Avoiding losing tree builder output"}], "slug": "Web/HTML/Optimizing_your_pages_for_speculative_parsing", "review_tags": []}