In questo periodo sto sviluppando un controllo javascript che renderizza un calendario tipo outlook per visualizzare delle attività. in un contesto del genere tabellare torna utile avere una funzione che ti ritorna una colonna dato il suo indice e quello della riga. Mi sono affidato a questa query fatta in jQuery: "tr:eq(1) td:eq(5)". Quando lavoravo con dati di test notavo una certa lentezza ma viste le molte cose che deve fare il controllo ho pensato ad una lentezza dello script in generale e non ho indagato.
Una volta arrivati i dati reali e ho cominciato uno stress test, ho visto che lo script impiegava qualcosa come 10 secondi per renderizzare una cinquantina di attività. Inaccettabile!!!
Armato del profiler di IE8 (io adoro alcune cose dei developer tools di IE8) ho isolato il problema e l'ho trovato nella suddetta query. Ho provato rimpiazzandola e accedendo direttamente al DOM "table.rows[1].columns[5]". Il risultato è che solo per l'esecuzione di quell'istruzione sono passato da 5,6 secondi a 1,9 (ovviamente viene chiamata in ciclo parecchie volte e devo ancora ottimizzare, ma intanto il grosso è fatto).
In finale, viva jQuery.... ma il DOM non è mica morto :)
Stay tuned...
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
- Il futuro di una parte del Web: le SPA, il 22 aprile 2013 alle 09:00
- Creare una ActionResult custom per renderizzare un PDF in MVC sfruttando una view, il 30 ottobre 2012 alle 11:31
- Gestire più bottoni in una form HTML con ASP.NET MVC, il 7 maggio 2012 alle 21:00
- Virtual Earth è finalmente dotato di una ricerca decente, l'11 aprile 2009 alle 02:54
- Prime impressioni su ASP.NET MVC, il 21 marzo 2009 alle 12:39