Des profileurs C # décent?

J’ai besoin d’un profileur C #.

Bien que je ne sois pas réticent à en payer un, quelque chose de gratuit ou du moins avec une version d’essai serait idéal, car il faut du temps pour établir un bon de commande.

Des recommandations?

    Vous pouvez essayer ce qui suit:

    • nprof (gratuit mais un peu vieux)
    • ProfileSharp (open source)
    • .Net Memory Profiler (vraiment bon pour les memory leaks, il y a une version d’essai)

    Edit: Nprof a été remplacé par SlimTune et fonctionne avec les applications .Net 4.0

    Il y a un an et demi, j’ai utilisé le profileur Ants sur un grand projet c #. Elle a très bien fonctionné pour ce qu’elle coûte et a même surpassé quelques-uns des concurrents les plus chers.

    Il calcule le coût avec presque une résolution ligne par ligne.

    Le profileur EQATEC est très bon et totalement gratuit. Il est facile à installer et à utiliser et ne semble pas append trop de temps à l’application. Je viens de commencer à l’utiliser aujourd’hui et j’ai déjà trouvé quelques goulots d’étranglement que je n’aurais pas décelés autrement.

    dotTrace de JetBrains est largement utilisé.

    L’impressionnant NDepend de Pasortingck Smacchia est excellent pour fournir une parsing statique.

    Je maintiens une liste complète de profileurs pour .NET sur SharpToolbox.com.

    Vous y trouverez les outils suggérés ici et d’autres, chacun avec une courte description de ce qu’il propose.

    Il est intéressant de noter que personne ne mentionne qu’il y en a un dans les versions haut de gamme de Visual Studio – j’ai toujours trouvé que c’était suffisant pour le profilage d’exécution. Pour le profilage de la mémoire, j’utilise Memory Profiler, qui a déjà été mentionné, mais ce n’est pas ce que je qualifierais généralement de «profileur».

    Quel type de profil essayez-vous de faire?

    Nous utilisons le profileur Ants où je travaille. Il donne des informations très détaillées de manière simple.

    Nous utilisons .NET Memory Profiler . C’est un peu moche mais très utile pour trouver des références pendantes.

    J’ai initialement essayé le profileur ANTS de Red Gate, qui est très sexy, mais du sharepoint vue de la fuite de mémoire, il craint pour les raisons suivantes:

    1) C’est ridiculement lent. Il a fallu une demi-heure pour que l’application se mette en état de démarrer l’enregistrement (cela prend 20 secondes sans porte rouge).

    2) Red Gate doit exécuter son propre outil sur son propre outil. Il utilisait 900 Mo de mémoire à la fin de deux instantanés! Il s’est ensuite écrasé 🙁

    Cependant, la composante chronométrage de Red Gate ANTS était impressionnante. Ne vous embêtez pas avec le profileur de mémoire, sauf si vous avez affaire à une application sortingviale (petite empreinte).

    J’ai utilisé AQtime et il ne m’a jamais laissé tomber. Je suis sûr qu’il existe une version d’essai.

    Je vais seconder le profileur ANTS de la porte rouge . Je l’ai utilisé pour identifier des problèmes de performances vraiment troublants et l’utilisation était simple (courbe d’apprentissage faible) et j’ai présenté des données détaillées et faciles à comprendre. Le prix en vaut la peine, mais ce n’est pas gratuit …

    L’impressionnant NDepend de Pasortingck Smacchia est excellent pour fournir une parsing statique.

    Je recommande vivement l’parsing statique de NDepend, mais sachez que vous aurez probablement besoin de mettre de côté un ou deux jours pour parsingr le volume d’informations qu’elle fournit et déterminer ce que toutes les statistiques signifient en termes de données. votre code.

    Le profileur EQATEC a fait le travail ici.

    La version actuelle de SharpDevelop (3.1.1) a un profileur bien intégré. C’est assez rapide et s’intègre très bien dans l’EDI de SharpDevelop et son runner NUnit. Les résultats sont affichés dans un style Arbre / Liste flexible (utilisez LINQ pour créer votre propre sélection). En cliquant deux fois sur la méthode affichée, vous accédez directement au code source.

    Actuellement, ne les utilisez pas, un de mes amis parle du profileur d’Ants. Je sais que c’est un produit payant pas sûr combien cher. Si vous recrutez un MVP, vous pourrez peut-être en tirer parti pour obtenir une licence gratuitement.

    J’ai eu de la chance avec le profileur de mémoire .NET

    AQTime (à la fois perf et mémoire) ou ANTS (profileur de performances v4 ou profileur de mémoire bêta v5) ici.

    J’ai trouvé le .NET Memory Profiler hier et je dois dire que je suis très impressionné.
    Je vais commander ma licence aujourd’hui.

    Bien qu’il ne soit pas très efficace pour profiler l’utilisation de la mémoire, le profileur inclus dans certaines versions de Visual Studio fait un très bon travail de profilage de la vitesse d’exécution.

    Quel est ton objective?

    Votre objective est-il de localiser des énoncés spécifiques et d’avoir une idée approximative de ce qu’ils consortingbuent à votre temps d’exécution total, de sorte que vous puissiez trouver des moyens de les faire différemment?

    Pour cela, je jure par cette méthode.

    SlimTune semble très prometteur. http://code.google.com/p/slimtune/