Que interesante! *¿Cómo medir los tiempos?* Supongo que ya sabrás que *FireBug* te muestra bastantes datos acerca de cada request. Por ejemplo, muestra los *ms* de:
- DNS Lookup - Connecting - Queuing - Waiting for response - Receiving data - DOM content loaded - Load Adjunto imagen. Quizás esta data sea suficiente (o no) para las mediciones que intentás realizar. Si no es suficiente habría que buscar otros complementos (nosé si Fiddler muestra este tipo de información). *¿Qué hay para medir?* Bueno, como bien indicás te interesa medir diferentes páginas generadas con diferentes técnicas (WebForms basico, WebForms tuneado, MVC, HTML + Javascript, serialización XML vs JSON vs Freddy Krueger ;-) Es un lindo laburito que ojalá lo puedas hacer y compartir los resultados. Aquí pienso que *YSLOW* sería una buena regla de medición. Pero estoy pensando en las conclusiones y me surgen nuevas preguntas... 1. Un *rendering optimizado*, es muy beneficioso por temas de *accesibilidad y SEO*. Sin embargo, no es definitorio para la *performance*. 2. Sabemos que en la *performance* intervienen muchos otros aspectos y no solo el *rendering* (cache, acceso a datos, compresion, minificacion, pocos request, CDN, etc) 3. ¿Cuál es el costo de *productividad*? 4. ¿Cuál es la *curva de aprendizaje*? Aún así, creo que esa prueba que intentás hacer *arrojará resultados interesantes*. Buena suerte! Estaremos pendientes. *Saludos, Gus* El 24 de noviembre de 2009 23:51, Diego Jancic <[email protected]> escribió: > Hola gente!, > Tengo ganas de hacer un "proof of concept" de un metodo para mostrar > contenido en web (en general, no solo .net), de forma que sea lo mejor > en cuanto a performance... Con mostrar contenido me refiero lo que > pasa desde el primer byte de respuesta de un servidor HTTP, hasta que > se muestra el contenido al cliente de forma completa. > Hay varias formas de hacerlo, pero me surge la duda de como puedo > realmente medir el metodo mas rapido en terminos de rendering del > browser.. > > Doy un ejemplo simple de lo que quiero medir. Supongamos que hay una > pagina complicada que involucra muchos elementos (a nivel DOM), por lo > que tengo varias formas diferentes de hacerlo: > ** Voy a suponer que la pagina no puede tener cache, pero cualquier js > o css si... Ademas la pagina tiene ~20% de contenido dinamico y todo > el resto es mas o menos estatico (estimo que no va a cambiar en menos > de 20 minutos). > > 1- Generar el layout basado en divs y enviar ese contenido al cliente. > 2- idem anterior haciendo flushes intermedios > 3- idem 1 pero usando tablas... puag! :P > 4- Generar los datos, y solo los datos, que necesito para mostrar > serializados en JSON, XML o lo que sea y con un js cacheado en el > cliente hago toda la parte compleja de contruir el DOM. > 5- Idem anterior pero creando el contenido con innerHTML (es mas > rapido que el metodo anterior segun lei) > > La cantidad de requests hechos, la latencia, el encolamiento de los > requests, etc es todo medible... por eso la pregunta especificamente a > medir el tiempo de render del browser. > > > Gracias!, > Diego > > -- Gustavo Azcona
<<attachment: firebug.PNG>>
