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

Windows Forms Discussion :

Diagnostics.Process trop lent


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 126
    Points : 93
    Points
    93
    Par défaut Diagnostics.Process trop lent
    Bonjour,

    Je fais suivre une discussion que j'ai entamée dans la section PostgreSQL ici car selon moi le problème (et donc la solution) peut venir d'un côté comme de l'autre.

    topic Postgres

    En résumé, dans mon application je lance une commande via un System.Diagnostic.Process.
    J'appelle l'exécutable psql (servant à lancer des requêtes sur un serveur) avec en argument un fichier .sql contenant quelques requêtes.

    Là où vient le problème c'est que cette exécution prend un temps monstrueux ...
    En temps normal, quand je lance moi même la commande, elle prend une dizaine de minute. Quand c'est l'application qui la lance au travers d'un Diagnostic.Process, elle met ... 2 heures ...

    Je cherche à savoir d'où vient cette différence

    d'avance je vous remercie.

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    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 154
    Points : 25 072
    Points
    25 072
    Par défaut
    si quand tu lances la ligne de commande depuis windows et que quand tu lances la meme avec process.Start depuis vb.net il y a une différence de temps c'est vraiment étrange ...


    essaye à tout hasard de lancer ce processus dans un thread séparé
    (instancier un system.threading.thread sur un void qui contient l'appel du processus)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 126
    Points : 93
    Points
    93
    Par défaut
    Bonjour,

    Merci de ta réponse.
    Moi aussi j'étais persuadé que le temps d'exécution aurait dû être le même et pourtant ...

    Le process est déjà lancé dans un thead séparé, enfin en quelque sorte puisse qu'il est lancé par un System.ComponentModel.BackgroundWorker qui effectue un "WaitForExit();" sur le Process juste après l'avoir lancé.

  4. #4
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Salut

    Dans ton post precédent du dis

    Et finalement, pendant que tu me répondais, j'ai essayé d'exécuter le script directement dans .Net et là je retrouve des temps plus bas : 20 minutes.
    Je ne comprends pas bien
    Finalement c'est 20 minutes ou 2 heures ?
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 126
    Points : 93
    Points
    93
    Par défaut
    le temps d'exécution du script :
    exécuté moi même via psql : 10 minutes
    exécuté par l'application via un Process qui lance psql : 2h
    exécuté par l'application via driver Npgsql (sans Process) : 20 minutes

Discussions similaires

  1. Réponses: 0
    Dernier message: 12/01/2010, 10h51
  2. [C#] Comment décoder le Diagnostics.Process.StandardOutput
    Par CrashMan dans le forum Contribuez
    Réponses: 14
    Dernier message: 11/07/2005, 11h10
  3. boucle while trop lente
    Par atouze dans le forum Access
    Réponses: 17
    Dernier message: 15/06/2005, 16h35
  4. [SAGE] ODBC trop lent
    Par tileffeleauzed dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 14/11/2004, 09h56
  5. Envoi de mail trop lent
    Par MASSAKA dans le forum ASP
    Réponses: 3
    Dernier message: 15/10/2004, 10h57

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