Question

Je suis en train de lire quelques fichiers texte (environ 300 kb chacun). Jusqu'à présent, je me sers de la Filestream pour ouvrir le fichier et le lire. ( ONGLET DÉLIMITÉ ). Cependant, j'ai entendu sur le fichier de mémoire mappée dans .NET 4.0. Ne serait-il mon lit plus vite?

Y at-il des exemples de code qui fait la lecture d'un fichier simple et comparer la performance?

Était-ce utile?

La solution

Si les fichiers sont sur le disque et juste besoin d'être lu en mémoire, puis en utilisant un fichier de mémoire mappée ne sera pas utile du tout, comme vous toujours besoin de les lire à partir du disque.

Si tout ce que vous faites est la lecture des fichiers, il est inutile de les mappage de mémoire.

mémoire mappée fichiers sont à utiliser lorsque vous faites un travail intensif avec le fichier (la lecture, l'écriture, le changement) et que vous voulez éviter le disque IO.

Autres conseils

Si vous êtes juste lire une fois, puis les fichiers mappés en mémoire ne font pas de sens; il faut toujours la même quantité de temps pour charger les données à partir du disque. fichiers mappés en mémoire Excel lorsque de nombreuses lectures aléatoires et / ou écritures doivent être effectuées sur un fichier car il n'y a pas besoin d'interrompre les opérations de lecture ou d'écriture avec opérations de recherche.

votre quantité de données des OPC monétaires ne donnent aucun avantage. Cependant, en général, si l'on prend la peine de réaliser les essais, il trouvera, que la copie de fichiers volumineux (énormes) à l'aide est plus rapide que les OPCVM monétaires appelant ReadFile / WriteFile séquentielle. Ceci est causé par différents mécanismes utilisés en interne dans Windows pour la gestion MMF et pour le fichier IO.

Traitement des données dans la mémoire toujours plus rapide que de faire quelque chose de similaire via le disque IO. Si votre traitement est séquentiel et intégrer facilement dans la mémoire, vous pouvez utiliser File.ReadLines ( ) pour obtenir la ligne de données en ligne et de les traiter rapidement sans surcharge de mémoire dure. Voici par exemple: Comment ouvrir un fichier texte volumineux en C #

Cochez cette réponse aussi: Quand utiliser des fichiers de mémoire mappées-

Mémoire de fichier mappée est recommandé de ne pas lire les fichiers texte. Pour lire le fichier texte que vous faites à droite avec Filestream. MMP est préférable de lire des données binaires.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top