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

VB.NET Discussion :

Question Programmation sous WindowsCE et performances fichiers texte [Débutant]


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 57
    Points : 65
    Points
    65
    Par défaut Question Programmation sous WindowsCE et performances fichiers texte
    Bonjour à vous,
    Je suis en train de développer une application sur un terminal Datalogic. Ce dernier est équipé du SE Windows CE5 (compact framework).
    Dans mon application, j'ai besoin de faire des recherches dans des fichiers textes.
    Il y en aurait 4. Ces fichiers sont assez volumineux, je compte donc mettre en application le principe de la recherche dichotomique.
    Aussi, je me demande s'il est préférable:
    -De tout réunir dans un seul fichier texte (CSV en vrai)
    -De laisser les différents fichiers textes et de rechercher dedans les un apres les autres
    -D'importer un ou tous les fichiers textes dans des dataset
    -D'arréter tout sa et rentrer chez moi ()
    -etc...

    Je suis un débutant, et je me pose donc beaucoup de questions sur les performances de mon programme (je voudrais éviter que l'utilisateur ait à attendre...)

    Merci à vous!!

  2. #2
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    il vaux mieux les stockées en format XML afin de les manipuler via linq to XML par exemple. Plus besoin de recherches dichotomique.

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 754
    Points
    39 754
    Par défaut
    Citation Envoyé par WOLO Laurent Voir le message
    il vaux mieux les stockées en format XML afin de les manipuler via linq to XML par exemple. Plus besoin de recherches dichotomique.
    Euh... oui, dans ce cas tu fais une recherche linéaire ! Pas idéal quand on cherche à optimiser les perfs
    D'autant plus que travailler avec du XML est quand même nettement plus couteux qu'avec du texte... faut pas oublier que sous Windows CE les ressources systèmes sont généralement assez limitées !

    @koluche, malheureusement tu ne peux pas vraiment faire de recherche dichotomique dans un fichier texte : en effet tu ne sais pas à quelle position commence chaque ligne, donc il faudrait à chaque fois rechercher le début de chaque ligne, et ce ne serait sans doute pas très performant.

    Donc en gros, pour faire une recherche dichotomique, tu es plus ou moins obligé de charger les données en mémoire (dans une liste, un tableau ou un dataset par exemple), ce qui peut être problématique s'il y a beaucoup de données et pas beaucoup de mémoire.

    Donc finalement, l'option qui s'impose à mon avis, c'est de stocker les données non pas dans des fichiers CSV, mais dans une base de données qui est faite pour ça et gère très bien ce genre de problématiques... Tu peux utiliser par exemple SQL Server Compact, ou SQLite

  4. #4
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    SQL Server Compact Edition pas mal comme option reste à savoir s'il a des compétances SQL.

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 57
    Points : 65
    Points
    65
    Par défaut
    Bonjour à vous, et merci de vos réponses! A mon tour maintenant.
    Je rerappelle que ce que je cherche, c'est un programme qui fera attendre le moins possible l'utilisateur (voir pas du tout ... le pied!!). Mais je pense que sa, vous l'avez compris =)

    Citation Envoyé par WOLO Laurent Voir le message
    il vaux mieux les stockées en format XML afin de les manipuler via linq to XML par exemple. Plus besoin de recherches dichotomique.
    Je ne connais pas le langage XML, et vu le temps que j'ai pour développer cette application, je préfère ne pas tenter! (De plus, j'aurais tendance à croire que c'est tout de même plus gourmand!)


    Citation Envoyé par tomlev Voir le message
    Faut pas oublier que sous Windows CE les ressources systèmes sont généralement assez limitées !
    En effet, voici quelques caractéristiques du terminal:
    Processeur XScale, 624 MHz
    RAM: 128 MB
    Flash: 256 MB, Win CE 5.0


    Citation Envoyé par tomlev Voir le message
    @koluche, malheureusement tu ne peux pas vraiment faire de recherche dichotomique dans un fichier texte : en effet tu ne sais pas à quelle position commence chaque ligne, donc il faudrait à chaque fois rechercher le début de chaque ligne, et ce ne serait sans doute pas très performant.
    Je ne comprends pas vraiment en fait, si j'ai un fichier .CSV, et que je sais que je dois rechercher une information se trouvant dans la Xème colonne (cette colonne étant triée), je sais rechercher une information dedans non??
    En fait, je n'ai jamais appliqué ce type de recherche.
    Pourrais tu préciser un peu plus le problème de "début de chaque ligne inconnu" s'il te plait?

    Citation Envoyé par tomlev Voir le message
    Donc en gros, pour faire une recherche dichotomique, tu es plus ou moins obligé de charger les données en mémoire (dans une liste, un tableau ou un dataset par exemple), ce qui peut être problématique s'il y a beaucoup de données et pas beaucoup de mémoire.
    Effectivement, cette option va probablement poser un problème (j'ai quelques dizaines de milliers d'enregistrements).

    Citation Envoyé par tomlev Voir le message
    Donc finalement, l'option qui s'impose à mon avis, c'est de stocker les données non pas dans des fichiers CSV, mais dans une base de données qui est faite pour ça et gère très bien ce genre de problématiques... Tu peux utiliser par exemple SQL Server Compact, ou SQLite
    Alors la, je suis carrément d'accord. Mais j'ai un soucis:
    Je ne peux pas utiliser le Wifi du terminal (Trop de problèmes liés à la connexion wifi dans l'entreprise). Donc il faudrait importer cette BDD via USB sur le beeper (c'est comme sa que j'appelle le terminal de saisie à code-barres) . C'est la que je pense que la mémoire interne du beeper n'est pas suffisante, je me trompe? (De plus, mon application n'est pas la seule sur le beeper, je vais me renseigner voir la quantité de mémoire disponible pour MON application).

    Merci encore de votre temps, c'est vraiment intéressant de partager les connaissances de chacun, j'en apprend un peu plus chaque jour!!
    Bonne journée!
    Cordialement, Pierrick.

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 57
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par WOLO Laurent Voir le message
    SQL Server Compact Edition pas mal comme option reste à savoir s'il a des compétances SQL.
    Effectivement, le SQL ne me posera pas de problème tant qu'il n'est pas trop approfondi.
    Je me renseigne tout de suite sur SQL Server Compact Edition!
    Merci de cette info.

  7. #7
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 175
    Points : 25 116
    Points
    25 116
    Par défaut
    -1 pour l'xml sur un windows CE
    +1 pour sql server ce ca va rester ce qu'il y a de plus performant

    Je ne comprends pas vraiment en fait, si j'ai un fichier .CSV, et que je sais que je dois rechercher une information se trouvant dans la Xème colonne (cette colonne étant triée), je sais rechercher une information dedans non??
    En fait, je n'ai jamais appliqué ce type de recherche.
    Pourrais tu préciser un peu plus le problème de "début de chaque ligne inconnu" s'il te plait?
    techniquement ca ne fonctionne pas comme ca du tout
    pour toi visuellement tu vois des lignes et des colonnes mais pour lire un fichier il faut lire des octets sans savoir à l'avance ce qu'il y a dedans
    donc il faudrait que tu lises tout le fichier avant de pouvoir faire quelque chose (ou éventuellement ligne par ligne avant de tomber sur la bonne, mais tu ne peux pas dire je veux lire la ligne y, sauf peut etre si tu le nombre d'octets d'une ligne est fixe)

  8. #8
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 57
    Points : 65
    Points
    65
    Par défaut
    Pour lire un fichier il faut lire des octets sans savoir à l'avance ce qu'il y a dedans
    donc il faudrait que tu lises tout le fichier avant de pouvoir faire quelque chose (ou éventuellement ligne par ligne avant de tomber sur la bonne, mais tu ne peux pas dire je veux lire la ligne y, sauf peut etre si tu le nombre d'octets d'une ligne est fixe)
    Je me sens un peut bête d'avoir posé cette question =)
    Merci beaucoup, réponse pour cette réponse concise!!

    Je suis en train de me renseigner sur SQL Server CE, qui, après quelques lectures par ci par la, semble effectivement être la meilleure solution.


    A bientôt tout le monde, merci pour vos réponses.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Programme de recherche dans un fichier texte
    Par Invité dans le forum C#
    Réponses: 3
    Dernier message: 08/03/2014, 17h30
  2. Réponses: 2
    Dernier message: 16/04/2013, 02h58
  3. [TP] Création fichier texte lisible sous Windows
    Par frechy dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 02/03/2006, 20h42
  4. feof et fichier texte sous unix
    Par Magicmax dans le forum C
    Réponses: 7
    Dernier message: 07/12/2005, 08h16
  5. Un programme "p2p" pour échanger des fichiers text
    Par Cthulhu 22 dans le forum Développement
    Réponses: 2
    Dernier message: 17/02/2005, 15h51

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