﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Microsoft Insider &#187; Underscore</title>
	<atom:link href="/tag/underscore/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.microsoftinsider.es</link>
	<description>El sitio no oficial de Microsoft en español</description>
	<lastBuildDate>Sat, 18 Jul 2015 13:10:32 +0000</lastBuildDate>
	<language>es-ES</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.2.2</generator>
	<item>
		<title>Windows 10 Technical Preview y JavaScript, un gran potencial</title>
		<link>http://www.microsoftinsider.es/54649/windows-10-technical-preview-y-javascript-un-gran-potencial/</link>
		<comments>http://www.microsoftinsider.es/54649/windows-10-technical-preview-y-javascript-un-gran-potencial/#comments</comments>
		<pubDate>Fri, 10 Oct 2014 21:19:14 +0000</pubDate>
		<dc:creator><![CDATA[David Del Peral]]></dc:creator>
				<category><![CDATA[Noticias sobre Windows]]></category>
		<category><![CDATA[Otros]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Chakra]]></category>
		<category><![CDATA[Compilador JIT]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JIT]]></category>
		<category><![CDATA[JS]]></category>
		<category><![CDATA[TypeScript]]></category>
		<category><![CDATA[Underscore]]></category>
		<category><![CDATA[Windows 10]]></category>
		<category><![CDATA[Windows 10 Technical Preview]]></category>

		<guid isPermaLink="false">http://www.microsoftinsider.es/?p=54649</guid>
		<description><![CDATA[<img width="720" height="540" src="http://msfti-portal.tecnologiaporpal.netdna-cdn.com/wp-content/uploads/2014/10/2378867408_5d2ac25d2f_o-1024x768.jpg?d74708" class="attachment-large wp-post-image" alt="Javascript" /><p>La preview de Windows 10 trae mejoras clave para Chakra, el motor de JavaScript de Internet&#46;&#46;&#46;</p>
<p>El artículo <a rel="nofollow" href="/54649/windows-10-technical-preview-y-javascript-un-gran-potencial/">Windows 10 Technical Preview y JavaScript, un gran potencial</a> ha sido publicado en <a rel="nofollow" href="/">Microsoft Insider</a>.</p>
]]></description>
				<content:encoded><![CDATA[<img width="720" height="540" src="http://msfti-portal.tecnologiaporpal.netdna-cdn.com/wp-content/uploads/2014/10/2378867408_5d2ac25d2f_o-1024x768.jpg?d74708" class="attachment-large wp-post-image" alt="Javascript" /><p>La <em>preview</em> de <strong>Windows 10 trae mejoras clave para Chakra</strong>, <strong>el motor de JavaScript</strong> de Internet Explorer desde la versión 9, esto significa que se potenciará su uso en las aplicaciones basadas en web en todo dispositivo viviente con un Windows.</p>
<p>Como todas las versiones de Chakra existentes en Internet Explorer 9, Internet Explorer 10 e Internet Explorer 11, esta versión es un <strong>paso muy importante</strong> para ofrecer un motor de JavaScript altamente interoperable, seguro, confiable y que proporcione un<strong> gran rendimiento</strong>. Chakra ahora posee una tubería de ejecución altamente racionalizada para ofrecer un <strong>arranque más rápido</strong>, incorpora nuevas y aumentadas optimizaciones en el compilador <strong>Chakra&#8217;s <em>Just-in-Time</em> (JIT)</strong> para mejorar el desempeño del script en ejecución, junto con un mejorado recolector de basura, disminuyendo el tiempo de respuesta.</p>
<p>Al ya existente compilador <strong>Full JIT</strong>, se integra un <strong>nuevo nivel de compilación</strong> con otro compilador, <strong>Simple JIT</strong>, el cual entra en juego entre el cambio sobre una ejecución de una función en el intérprete para ejecutar el <strong>altamente optimizado código JIT</strong>, cuando el código compilado esté disponible. Como su nombre implica, evita el código generado con complejas optimizaciones, el cual es dependiente de la recolección de datos del intérprete. Disponer de Simple JIT permite lograr una <strong>conmutación más rápida de <em>bytecode</em> a código simple &#8220;<em>JITeado</em>&#8220;</strong>, que a su vez ayuda a Chakra a iniciar más rápidamente las aplicaciones y sitios. En definitiva, es una versión menos optimizada del compilador completo Full JIT, diseñada para aumentar la <strong>rapidez de ejecución de códigos simples</strong>, funcionando como un <strong>subproceso de fondo concurrente</strong> JIT, que comparten ambos compiladores.</p>
<p>Por otro lado, hoy en día, las aplicaciones web se utilizan en una gran variedad de dispositivos (<em>smartphone</em>, Xbox, PC, 2-in-1, <em>tablets</em>, etc.). Estas configuraciones <strong>restringen la disponibilidad de recursos de hardware</strong>, con lo que las aplicaciones que se ejecutan sobre grandes sistemas a menudo no aprovechan totalmente el poder del hardware subyacente. Desde su creación en Internet Explorer 9, Chakra ha utilizado un subproceso paralelo de fondo para la compilación JIT, pero, en esta nueva versión Chakra<strong> es más consciente del hardware</strong> que tiene debajo. Siempre que Chakra determina que el hardware está siendo infrautilizado, podrá generar <strong>múltiples subprocesos concurrentes</strong> en segundo plano para la compilación JIT. Chakra administra la carga de código entre el Simple JIT y el Full JIT, dividiéndola y encolándola para su compilación a través de múltiples hilos JIT. Esto ayuda a reducir la latencia global de la compilación JIT, proporcionando un 30% más de rapidez en el compilador TypeScript.</p>
<p>También destacamos, entre las novedades, la ejecución rápida de JavaScript gracias a las <strong>optimizaciones</strong> realizadas en el propio compilador JIT. La representación interna de una propiedad de un objeto es conocida como tipo (<em>Type</em>). Basado en el número de propiedades y <em>layout</em> de un objeto, Chakra crea, bien un tipo rápido (<em>Fast Type</em>) o un tipo lento (<em>Slower Property Bag Type</em>) para cada objeto encontrado durante la ejecución del script. A medida que se agregan propiedades, su <em>layout</em> cambia y un nuevo tipo es creado para representar el <em>layout</em> actualizado. La mayoría de los objetos que tengan la misma propiedad de <em>layout</em> comparten el mismo tipo rápido interno. Para mejorar el rendimiento de las búsquedas repetidas para un tipo rápido interno en la llamada dada por un sitio, Chakra crea cachés para el tipo rápido, asociando el nombre de la propiedad con su ubicación en el <em>layout</em>. Esto permite a Chakra acceder directamente a su ubicación, cuando al objeto se le llama repetidamente en el sitio web. Durante la ejecución de código, si Chakra encuentra un objeto de tipo diferente se almacena una pérdida en la caché, ya que Chakra debe volver a encontrar la ubicación y nombre de la propiedad para realizar lo descrito anteriormente. En Internet Explorer 11, Chakra ya incorporó varias mejoras, como la capacidad de crear<strong> cachés polimórficas</strong> para un acceso a la propiedad, que almacenan información de más de un tipo rápido, de tal manera que si varios objetos son llamados repentinamente y de diferente tipo el rendimiento no se ve sumamente afectado. Aun así, las cachés polimórficas son <strong>algo más lentas</strong> que una monomórfica (un sólo tipo). Por este motivo, en Windows 10 Technical Preview, Chakra introduce una nueva optimización llamada<strong> especialización del tipo equivalente del objeto</strong> (<em>Equivalent Object Type Specialization</em>), la cual permite al compilador JIT <strong>eliminar comprobaciones redundantes de tipos</strong> en la caché cuando múltiples propiedades de diferentes tipos son accedidas en el mismo objeto.</p>
<p>Otras de las optimizaciones es <em><strong>function inlining</strong></em>. Esto ocurre cuando se inserta el cuerpo de una función llamada, o <em>inline</em>, en el cuerpo de la <strong>función superior</strong> <strong>que la llama</strong>, ahorrando así la <strong>sobrecarga de invocación</strong> de la función y la de regreso. Para lenguajes dinámicos como JavaScript, es necesario verificar que se coloca <em>inline</em> la función correcta preservando los parámetros y permitiendo a la pila caminar en una caja de código utilizando <em>.caller</em> o<em> .argument</em>. En Windows 10 Technical Preview, Chakra ha eliminado la sobrecarga de procesos para la mayoría de los casos mediante el uso de <strong>datos estáticos</strong> <strong>para evitar la sobrecarga dinámica</strong>. Esto proporciona hasta un 10% de aumento de rendimiento en ciertos casos y hace que el código generado por el optimizador de Chakra para el compilador JIT sea idéntico al código <em>inline</em> realizado de forma manual por el programador en términos de rendimiento en su ejecución.</p>
<p>Por otra parte, Chakra también almacena, a partir de Internet Explorer 11, <strong>heurísticas y respaldo para tratar <em>arrays</em> numéricos</strong> de JavaScript como <em>arrays</em> con tipo de dato. Esto permitió a los <em>arrays</em> de JavaScript, ya sea con todos los números enteros o con todos los coma flotante, ser detectados automáticamente por Chakra y codificados internamente en <em>arrays</em> con tipo. Este cambio permite<strong> optimizar la carga de <em>arrays</em>, </strong>evitando el etiquetado de números enteros y el empaquetado de valores en coma flotante para <em>arrays</em> de su tipo. En Windows 10 Technical Preview, Chakra mejora aún más el rendimiento de este tipo de estructuras de datos añadiendo optimizaciones para <strong>evitar comprobaciones</strong>, aumentando la velocidad de carga interna de <em>arrays</em> en memoria y la carga de su longitud. Aparte de su uso en webs reales, muchas librerías de JavaScript que realizan bucles sobre <em>arrays</em> como <em>Lo-Dash</em> o <em>Underscore</em> se benefician de estas optimizaciones. En patrones específicos probados, Chakra ahora realiza un 40% más rápido este tipo de trabajos con <em>arrays</em>.</p>
<p>Por último, y no menos importante en un lenguaje de alto nivel, las mejoras en el recolector de basura continúan empujando el trabajo de los subprocesos dedicados a ello. Chakra tiene un recolector de basura que soporta concurrencia y colecciones parciales. En Internet Explorer 11, cuando un recolector concurrente es iniciado,  el recolector de fondo de Chakra podía realizar una marca inicial en los objetos y reescanear los objetos que hubieran sido modificados por el hilo principal de ejecución mientras corría el recolector de fondo de Chakra, y realizar una segunda marca en los objetos reescaneados. Una vez que la segunda marca se realizase, el hilo principal se detenía y un reescaneo final con marcaje era realizado, seguido de un barrido realizado principalmente por el hilo del recolector de fondo para localizar objetos inaccesibles y añadirlos de nuevo a la piscina de la asignación. La marca final se llevaba a cabo sólo en el hilo principal pudiendo causar retrasos si hubiesen un montón de objetos para marcar. Estos retrasos contribuían a la pérdida de fotogramas de animación en ciertos casos, dando lugar a animaciones poco fluidas. En Windows 10 Technical Preview, esta marca final ahora <strong>se divide entre el hilo principal y el hilo dedicado</strong> <strong>al recolector de basura</strong> para reducir las pausas del hilo principal. Con este cambio, el tiempo que el recolector de basura gasta en la marca final de objetos en el hilo principal se ha reducido hasta en un 48%.</p>
<p>Microsoft pretende con este avance <strong>mejorar la experiencia</strong> de navegación web por sitios multimedia y dinámicos, así como las <em>apps</em> que se basen en esta tecnología, que hoy en día tiene mucho potencial.</p>
<p>El artículo <a rel="nofollow" href="/54649/windows-10-technical-preview-y-javascript-un-gran-potencial/">Windows 10 Technical Preview y JavaScript, un gran potencial</a> ha sido publicado en <a rel="nofollow" href="/">Microsoft Insider</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.microsoftinsider.es/54649/windows-10-technical-preview-y-javascript-un-gran-potencial/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using apc
Page Caching using apc
Database Caching 1/50 queries in 0.072 seconds using apc
Content Delivery Network via msfti-portal.tecnologiaporpal.netdna-cdn.com

 Served from: localhost @ 2015-07-18 15:35:06 by W3 Total Cache -->