Archivo para febrero, 2010

El generador de perfiles (Profiler) de Internet Explorer 8

Posted in Microsoft, Programación with tags , , , , on 25 febrero, 2010 by febrer

Como algunos de vosotros sabréis, IE8, dispone de una serie de herramientas de desarrollo accesibles desde el propio explorador pulsando la tecla F12.

 Desde estas herramientas, puedes acceder al código script de la página, a la hoja de estilos (Css), y al código html (mostrado en forma de árbol). Puedes incluso, desde la pestaña “Script”, depurar la aplicación con un sencillo depurador, creando puntos de ruptura, analizar variables, etc. Personalmente, la depuración prefiero realizarla desde el entorno de desarrollo Visual Studio, pero es una opción muy interesante si desarrollas con otros lenguajes de programación que no sean de Microsoft.

 La herramienta que me ha sorprendido, por su sencillez y eficacia, es el generador de perfiles ó “profiler”. Esta utilidad, nos permite tener una visión rápida de los tiempos utilizados por cada una de nuestras funciones (js o vbs) de nuestra aplicación. De una manera fácil, podemos determinar cuales son las funciones que utilizan más tiempo en ejecutarse, y solucionar problemas de rendimiento en nuestras aplicaciones. Permite tener una vista de las funciones y sub-funciones de nuestra aplicación, organizada jerárquicamente, para que fácilmente puedas navegar por las diferentes funciones y métodos viendo los tiempos incurridos por cada una de ellas.

 Su funcionamiento es muy sencillo. Simplemente, cargamos la página que deseamos analizar, pulsamos F12, activamos el modo “captura”, pulsando en “Iniciar la creación de perfiles” (en la pestaña “Generador de perfiles”), volvemos a acceder a nuestra aplicación, y ejecutamos el código que queremos analizar. Una vez ejecutado el código a analizar, pulsamos de nuevo F12, y detenemos la captura con “Detener la creación de perfiles”. Automáticamente, podremos visualizar un informe con todos los tiempos de nuestras funciones, pudiendo ordenarlo por el campo que deseemos. Cambiando la vista a “Árbol de llamadas”, podremos acceder a las diferentes funciones y tiempos organizados por las llamadas realizadas. Toda la información, se puede exportar a csv para un posterior análisis.

 Espero que esta utilidad os permita detectar problemas de rendimiento en vuestras aplicaciones web.

 Happy scripting!!

Un productivo día en Bazkaria.com

Posted in Eventos with tags , , , on 21 febrero, 2010 by febrer

Genial el evento de Bazkaria.com.

Hacia mucho tiempo que no coincidía con tanto talento y gente interesante. El formato del evento, ideal … siguiendo la sistemática de otros eventos como iniciadorfirst tuesday. En esta ocasión, para acelerar las presentaciones, las realizábamos en grupos de cinco personas, diciendo, quien eres, a que te dedicas y que esperas encontrar en Bazkaria.

Es un momento de nerviosismo, mucha gente escuchando lo que tienes que decir. Salí, hable, y después no sabia ni lo que había dicho. Es el miedo escénico. Siempre trabajando detrás de un ordenador, y cuando hay que dar la cara, … nervios.

Después de una presentación por parte de todos los asistentes, llego la hora del café. Un buen café y unos pasteles, daban fuerzas para continuar. Por supuesto, siguiendo con el networking. Coincidí con Ugutz Txopites (CEO de Agoranet), Jorge Uriarte (CEO de Gailen), Josu Rollón (T-Systems) y Asier Gomez Barrenetxea entre otros.

Después llego la hora de los talleres. Grandes profesionales cuentan sus experiencias y las comparten con todos. Yo me apunte al taller de “emprender en la red”, con Eneko Knörr. Estábamos mucha gente, y el circulo era demasiado grande, tuvimos problemas de sonido, pero estrategicamente, nos reorganizamos, y se solventaron los problemas. Mucha participación, cada uno contaba sus experiencias, y junto con la experiencia de Eneko el taller fue muy productivo.

Y al final, el chuletón!! Una buena manera de acabar un curioso día de networking. También tuve la suerte de poder sentarme junto con Jesús Angel Bravo, (CEO de Softec-Internet), EneKo Knörr (CEO de Ideateca), Asier Gomez Barrenetxea , Txente Boratia, y Gorka Solagaistua.

Pues nada, ya solo queda esperar el Bazkaria del 2011. Enhorabuena a la organización.

Mejorar el rendimiento en la escritura DOM con javascript

Posted in Programación with tags , , , , , , on 15 febrero, 2010 by febrer

Uno de los principales problemas que nos encontramos al crear aplicaciones javascript, escribiendo directamente en el DOM (Document Object Model), es el mal rendimiento que este tiene cuando se realizan excesivas llamadas a AppendChild. Un claro ejemplo lo encontramos en los grids, ya que estos realizan abusivas llamadas en la creación de este (dependiendo, claro esta, del número de filas y columnas).

Una buena recomendación para acelerar este tipo de procesos, es la incorporación del elemento documentFragment en nuestros desarrollos.

Sin entrar en detalle de cómo implementar DocumentFragment en nuestros desarrollos, os muestro una tabla comparativa de ambos mecanismos con el tiempo en ms que tardan en realizar la escritura:

Browser Normal (ms) Fragment (ms)
Firefox 3.0.1 90 47
Safari 3.1.2 156 44
Opera 9.51 208 95
IE 6 401 140
IE 7 230 61
IE 8b1 120 40

Esta comparativa, junto con la manera de implementarlo en nuestros desarrollos, la encontraremos en el blog de John Resig:

http://ejohn.org/blog/dom-documentfragments

Más información sobre documentFragment:

http://therealcrisp.xs4all.nl/meuk/fragment.html

http://www.ryboe.com/2008/07/22/increasing-appendchild-performance-with-dom-tricks.html

http://www.slideshare.net/julien.lecomte/high-performance-ajax-applications