Durante lo sviluppo del MetadataDiffViewer ho dovuto ricorrere all'uso dell'Isolated Storage per salvare i metadati in locale e poterli prelevare da disco invece che da remoto. Ho notato però che le performance, rispetto allo scaricare da un webserver in locale, erano peggiori ed era imputabile a:
- la chiamata a IsolatedStorageFile.GetUserStoreForApplication/Site: è molto costosa, aprendo lo storage una sola volta, dall'inizio alla fine ho guadagnato un 40% di performance;
- la lettura dello stream attraverso IsolatedStorageFileStream: è un più lenta rispetto ad uno stream in memoria nelle operazioni di accesso randomico. Questo è ovvio visto che va su disco, ma non pensavo così tanto. Precaricando il tutto in un MemoryStream e parserizzando poi l'XML con XDocument.Load in un'attività, ho guadagnato 3 secondi su 14 e non è poco.
Insomma, occhio a come lo usate.
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Nella stessa categoria
- LINQ, lazy loading e architettura, l'11 marzo 2011 alle 18:42
- MetadataDiffViewer: aggiornato al .NET Framework 4.0, Silverlight 4.0 e Sharepoint 2010, il 7 gennaio 2010 alle 13:58
- .NET Framework 4.0 beta 1: Windows Communication Foundation, il 18 maggio 2009 alle 16:00
- Parallelizzare in Silverlight 2.0, il 21 aprile 2009 alle 00:25
- MetadataDiffViewer: differenze tra i framework, il 15 aprile 2009 alle 18:56
I più letti del mese