Ottimizzazione del recupero delle notizie

1

Ho un raschietto per raschiare notizie da diverse fonti in wp7. Il mio attuale appraoch per fare questo è:

  • carica le informazioni sui giornali dal file xml.
  • vai alle sezioni specificate e recupera gli url delle notizie.
  • vai a ogni URL e recupera titolo, immagine, editore.
  • display utilizzando un'architettura MVVM di windows phone.

Il tutto avviene in modo asincrono ... il che significa che non appena l'url da una sezione di un giornale viene recuperato, viene aggiunto alla coda e il secondo stadio consiste nel recuperare il titolo, l'immagine ecc. inizia ... e non appena questo viene recuperato anche per un articolo, viene visualizzato. Successivamente, quando vengono caricati più articoli, vengono aggiunti all'elenco.

Per lo scopo di recupero sto usando un SmartThreadPool ( link ) per windows phone.

Il mio problema è che ... anche per recuperare circa 80 articoli (in totale) da 9 pubblicazioni, ci vuole più di un minuto. Come posso velocizzare la procedura?

Nota: ho un approccio a due fasi perché molte volte le immagini non sono disponibili con titoli e si trovano solo nell'articolo.

    
posta aceBox 29.10.2013 - 07:12
fonte

1 risposta

2

Esiste una tecnica infallibile per l'ottimizzazione del codice: misura. Senza sapere dove si trova il collo di bottiglia, ogni consiglio che si ottiene avrà una buona possibilità di essere inutile. Misurare. Tempo il tuo codice. Assicurati di sapere esattamente cosa ci sta mettendo così tanto tempo.

Il tuo codice è suddiviso in segmenti, giusto? Misurarli separatamente, quindi misurare nel suo complesso. Assicurati di sapere quanto tempo ci vuole per caricare i dati XML, quanto tempo ci vuole per recuperare l'elenco degli articoli da una fonte, quanto tempo è necessario per recuperare il contenuto di un oggetto, quanto tempo ci vuole per caricare le sue immagini.

A meno che non misuri, le tue ottimizzazioni saranno premature. È del tutto possibile che trascorrerai una settimana ad ottimizzare il codice di recupero della rete, solo per scoprire che il tuo problema era nei tuoi modelli di visualizzazione che recuperavano accidentalmente i dati più volte.

Misura.

    
risposta data 29.10.2013 - 07:17
fonte

Leggi altre domande sui tag