IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Ecriture/ Lecture d'une array dans un fichier


Sujet :

C#

  1. #1
    Membre averti Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Points : 410
    Points
    410
    Par défaut Ecriture/ Lecture d'une array dans un fichier
    Salut

    Quel procede permettrait de lire/ecrite enormement et le plus rapidement possible des donnees dans un fichier en continue.

    Est ce que un StreamWriter suffit ?

    Par exemple : toute les 20ms un tableau de float de + 2 000 0000 d elements


  2. #2
    Membre du Club Avatar de dotEden
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 66
    Points : 56
    Points
    56
    Par défaut
    Citation Envoyé par Seth77 Voir le message
    Est ce que un StreamWriter suffit ?
    Bonjour Seth,

    Pour optimiser les accès en écriture, je te conseil de commencer par faire une copie de ton fichier que tu écris (du genre ~nomfic.txt) ce qui permettra de ne pas monopoliser le fichier (en cas de multiple accès), ensuite pour écrire dans ce fichier, ouvre le StreamWriter en début de traitement et ne le ferme plus jusqu'à la fin.
    N'oublie pas ensuite de supprimer la copie du fichier.

    Par contre, il faudrait que tu précises un peu plus ton projet (ajout ligne après ligne sans suppression à la manière d'un fichier log; ajout, suppression et modification de lignes régulières à la manière d'une éditeur de texte, ...).

    Cordialement

  3. #3
    Membre émérite Avatar de meziantou
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Points : 2 439
    Points
    2 439
    Par défaut
    Le StreamWriter devrait en effet suffire. De plus les méthodes d'écritures sont bufferisée.

    Par contre je pense que ton disque dur ne va pas forcément suivre.
    2 000 000 d'éléments toutes les 20ms.
    100 000 000 éléments / second.
    Si on considère que un élément fait 4 octets (je ne connait pas la taille exacte dans le fichier car cela dépend du format choisi)
    Ca doit faire du 400MO/s

  4. #4
    Membre du Club Avatar de dotEden
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 66
    Points : 56
    Points
    56
    Par défaut
    2 000 000 d'éléments toutes les 20ms.
    Je pense qu'il veut dire au total, donc pas besoin de réécrire ce qui a été écris (enfin j'espère...).
    Mais il faudrait vraiment qu'on en sache un peu plus sur le sujet, parce que moi je n'arrive pas à imaginer de cas où on doit écrire constamment sur le disque. Quoiqu'il arrive, les performances vont être faible de toute façon (sinon la RAM ne servirait à rien )

    Cordialement

  5. #5
    Membre averti Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Points : 410
    Points
    410
    Par défaut
    hi all

    Merci tout le monde

    les donnees proviennent d un peripherique ; et le flux depend de la configuration et du type de peripherique ; enormement ou tres peu :-/

    Je suis en train d essayer avec un StreamWriter et un ByteWriter ... mais l on m a dit que le ByteWriter ou plutot la convertion en byte est un peu lente ... y a t il des alternatives

    Je me demande egalement si, vu le flux de donnee, il vaut mieux faire l enregistrement en continue ou faire l enregistrement a un certain moment. De toute vu le flux de donnee il me faudra gerer plusieurs fichiers.


Discussions similaires

  1. Lecture d'une variable dans un fichier php
    Par debo41 dans le forum Flex
    Réponses: 2
    Dernier message: 26/08/2008, 08h21
  2. Lecture d'une variable dans un fichier php
    Par debo41 dans le forum Flex
    Réponses: 2
    Dernier message: 21/08/2008, 16h56
  3. Réponses: 5
    Dernier message: 05/04/2008, 12h49
  4. Réponses: 1
    Dernier message: 26/09/2007, 19h55
  5. [C#] [.NET] Lecture d'une classe dans un fichier
    Par niPrM dans le forum Windows Forms
    Réponses: 4
    Dernier message: 18/05/2004, 08h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo