2010-08-27 4 views
0

En question de suivi à this one I asked yesterday, y at-il de bonnes ressources pour trouver l'attendu, le pire des cas, ou mieux runtimes cas des différentes méthodes C# builtin?Trouver les détails d'exécution pour C# builtins

Encore une fois, je ne suis pas à la recherche d'un moteur de recherche. Lors du développement de logiciels, une API est utile, mais il semble que cette API devrait également inclure une promesse d'exécution.

+0

C# ne possède aucune méthode intégrée. A quoi faites-vous référence? –

+0

Je ne sais pas. Comment appelleriez-vous les classes et les méthodes des diverses assemblées qui l'accompagnent? Comme System.Collections et Dictionary [clé]? – user420667

Répondre

0

Quand je dois avoir une idée de ce qui se passe, j'utilise souvent Reflector. Même s'il ne fournit pas de timing en tant que tel, la lecture du code vous donnera une idée de sa performance.

0

Quand vous parlez des temps d'exécution, voulez-vous dire le temps d'exécution? En fonction de votre question précédente, voulez-vous savoir des choses comme un appel à GetType() par exemple? Si c'est le cas, cela serait difficile car le temps d'exécution d'une fonction dépend de beaucoup de choses, dont le moins serait le matériel sur lequel elle s'exécute et bien sûr les données transmises à la fonction.

Bien sûr, pour des algorithmes, il est big-O notation (complexité) de l'algorithme. Ce qui peut être utilisé comme un guide pour sélectionner l'algorithme le plus approprié pour un problème spécifique. Par exemple, ajouter un élément à une liste chaînée est une opération O (1), où la recherche d'une liste liée pour un élément est une opération O (n) où n correspond au nombre d'éléments de la liste liée, mais une table de hachage est à nouveau une opération O (1), etc.

+0

Droite. C'est ce que je voudrais savoir pour toutes les méthodes qui sont préemballées pour C#. – user420667

+1

Pour les structures de données communes implémentées par .NET, vous pouvez vous attendre à des performances basées sur leurs définitions de manuels. Like Dictionary a O (1) temps de récupération. – Jerome

+1

@ user420667, dans certains cas le MSDN inclut cette information, par exemple le SortedList inclut le Big-O pour les diverses opérations dans la section remarques. Mais je suis encore confus quand vous dites toutes les méthodes, vous référez-vous à toutes les méthodes sur les classes de collection ou à chaque méthode pour chaque classe, comme la classe Type par exemple? –

Questions connexes