Domanda

Sto usando Winforms e C# per la mia applicazione e i miei dati sono principalmente alcune stringhe, numeri interi e molte liste. Ora li memorizzo in XML e file di testo, ma ho appena scoperto che leggere i dati richiede troppo tempo. Sto usando XMLWriter e XMLReader. Ad esempio, ho 4 file XML per un totale di 2-3 MB che analizzo e ~ 250 testo che leggo il loro contenuto tutto in una volta. Il caricamento dura 3-4 minuti e non sto usando i thread. È normale o sta succedendo qualcos'altro? Dovrei usare un altro modo per archiviare i miei dati? Deve farlo uso solo un thread?

Modifica ho trovato il problema. Non aveva nulla a che fare con la lettura (penso). Comunque, supponendo che i miei dati non otterranno più di un paio di MB, dovrei usare un database o sto bene con XML?

È stato utile?

Soluzione

Probabilmente sei per lo più I/O legato su questo, quindi parallelizzazione non aiuterà molto - ma certamente non dovrebbero essere necessari da 3 a 4 minuti (più simili a 3-4 secondi) - qualcos'altro sta succedendo.

Se hai grande strutturato Dati, è necessario considerare un database, quindi è possibile eseguire una query per i dati di cui hai bisogno invece di dover caricare tutto in una volta. Cioè SQL Server Compact Ha un'impronta molto piccola per l'uso nelle applicazioni desktop.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top