2011-01-04 16 views
5

Questa tecnologia è pensata per i modelli di piccole dimensioni o potrebbe essere utilizzata per visualizzare insiemi di dati di grandi dimensioni? Ad esempio tabelle con 1000 righe e 20 colonne?Prestazioni dei modelli Jquery

In che modo la scala delle prestazioni per casi come questi? Il modo ideale e pulito per visualizzare i dati sarebbe quello di alimentare i dati JSONified restituiti dal servizio Web al modello JQuery. Sembra teorico, ma in pratica è efficace per i grandi insiemi di dati?

risposta

5

Dipende molto dal browser che esegue il rendering. IE6 può essere abbastanza lento (anche se il trasferimento di 1.000 grandi righe di markup HTML e l'iniezione di questo nel documento non sarà veloce).

Ecco il numero a jsperf benchmark that generates 1,000 rows of 10 columns and renders it. Sto facendo una media di 200-250 ms per eseguire il rendering delle 1.000 righe in Chrome 9.

La domanda più importante dovrebbe essere davvero: perché nel mondo stai visualizzando 1.000 righe contemporaneamente? Ci sono sempre alternative UX migliori di quelle.

+0

Ho intenzione di visualizzare circa 600 in realtà. Mi è stato chiesto di visualizzare tutte le righe contemporaneamente senza effettuare il paging in modo specifico. Qualcuno su SO ha suggerito di fare qualcosa come memorizzare i dati ricevuti dal servizio web e visualizzarli in blocchi mentre l'utente scorre. Sono abbastanza nuovo per Jquery e non ho visto molti esempi che lo dimostrino. – sarsnake

+0

Non avresti nemmeno bisogno della complessità dell'aggiornamento mentre l'utente scorre. È sufficiente eseguire prima il rendering del set di dati visibile, quindi avviare immediatamente il rendering e aggiungere il resto dei dati in blocchi di ~ 100 righe. Ancora meglio, potresti iniziare richiedendo solo il primo set visibile di righe dal servizio web, quindi richiedi immediatamente il resto dopo aver eseguito il primo bit. Questo dovrebbe accelerare il tempo totale finché anche qualcosa è visibile. Lo svantaggio principale di ciò è che avrebbe continuamente influenzato la dimensione della barra di scorrimento quando venivano aggiunte più righe. –

+0

Grazie Dave, ma non sono sicuro di come funzionerebbe, non è Javascript singolo thread? Il ritardo per me si verifica nel loop dei dati JSON (dal servizio web), non nel lato del servizio web ... quindi perché dovrei chiamare il servizio web più volte? La tua strada non bloccherebbe il browser? – sarsnake