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

Framework .NET Discussion :

Ngen.exe et les webservices


Sujet :

Framework .NET

  1. #1
    Membre confirmé Avatar de joKED
    Profil pro
    Imposteur en chef
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Imposteur en chef

    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Points : 458
    Points
    458
    Par défaut Ngen.exe et les webservices
    Bonjour à tous.

    Ayant successivement débuggé et optimisé une application, j'ai ensuite passé un petit coup de Ngen dessus, et oh miracle, tou s'execute beaucoup plus vite, ce qui est réellement appréciable.

    Cependant, une question me turlupine :
    J'ai un service web qui fait la même chose que mon appli, et je voulais savoir s'il était possible d'utiliser ngen de la même manière sur ce service web?

    Si oui, que spécifier comme argument de ligne de commande pour ce faire?

    Merci de votre aide
    Tant va la cruche à l'eau qu'à la fin y'a plus d'eau.

  2. #2
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    Merci pour cette question, ça m'a permis de me renseigner et de voir que NGen avait changé avec le framework 2.0
    Un lien très intéressant sur la question

    On y apprend qu'effectivement, en framework 2, NGen fait quelques optimisations pour accélérer un peu l'exécution du code, ce qui n'était pas le cas en framework 1.1, où NGen ne faisait (principalement) qu'accélérer la première exécution en précompilant le code.


    Concernant ton web service, NGen n'apportera que très peu de gains. Pourquoi ?
    * Parce que la dll est chargée une fois pour toute, et ne se recharge que si ton serveur web redémarre. Sans Ngen (en JIT compilation) seule la première exécution sera un peu ralentie, mais après ça tournera à vitesse maximale.
    * Ensuite parce que ton service web n'est exécuté que par un seul processus (ASPNET) (sauf si t'as une archi bizarre)
    * Au contraire, ça risque de diminuer les perfs si ton assembly est strong-named, et que la dll n'est pas en cache (dixit le lien ci dessus)

    Note : si tu persistes néanmoins, je suis intéressé par les résultats de tes essais. Des résultats objectifs bien sûr (avec des mesures)
    Histoire de voir si la théorie rejoint la pratique.

  3. #3
    Membre confirmé Avatar de joKED
    Profil pro
    Imposteur en chef
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Imposteur en chef

    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Points : 458
    Points
    458
    Par défaut
    Merci pour cette réponse.
    En effet, c'est un lien très intéressant que j'avais rapidement visité sans trouver de réponse à ma question. Je te remercie de tes éclaicissements, bien qu'ils m'attristent quelque peu. Quand je pense au gain de performance obtenu grâce à ngen sur mon appli, j'enrage de ne pouvoir faire de même avec mon service web.

    J'ai bien envie néanmoins de tester. Saurais tu me dire quelles dll je dois passer dans ngen pour mon service web? je t'en serai reconnaissant, et ne manquerais pas de te faire part des mesures que j'aurai pu relever.
    Tant va la cruche à l'eau qu'à la fin y'a plus d'eau.

  4. #4
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    Bein.. la dll de ton service web...

    Au niveau de ton wwwroot, tu dois avoir un répertoire dans lequel tourne ton webservice, et dedans il y a les dll qui le font tourner.

    N'oublie pas d'éteindre iis avant (iisreset /stop) et de le redemarrer après (iisreset /start)

  5. #5
    Membre confirmé Avatar de joKED
    Profil pro
    Imposteur en chef
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Imposteur en chef

    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Points : 458
    Points
    458
    Par défaut
    Bon, j'ai fais le test, et iln'y a aucun changement visible.
    Je vais tester en détail avec un composant stopwatch.
    Tant va la cruche à l'eau qu'à la fin y'a plus d'eau.

Discussions similaires

  1. Question sur les WebService renvoyant un DataSet ?
    Par tazmania dans le forum Services Web
    Réponses: 16
    Dernier message: 07/06/2008, 20h29
  2. Problème avec Silverlight et les webservices
    Par Baathor dans le forum Silverlight
    Réponses: 8
    Dernier message: 23/01/2008, 23h20
  3. [JonAs] Vérifier si les webservices sont lancés
    Par NhyMbuS dans le forum JOnAS
    Réponses: 4
    Dernier message: 03/08/2007, 10h19
  4. Informations sur un exe (dans les propriétés windows)
    Par SteelBox dans le forum Windows
    Réponses: 6
    Dernier message: 06/07/2004, 18h20

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