6
votes

Comment faire mon code rapide

S'il vous plaît quelqu'un peut-il me dire un bon tutoriel qui m'aide à rendre mon code rapide et léger. Je suis intéressé de savoir quelle méthode est plus rapide et quand utiliser une méthode au lieu d'autres ...
Et comment évaluer si un code est bon ou mauvais?
Mon langage de programmation est C #.

salut tout,
Merci pour vos réponses, ils sont très utiles.
Je modifie ma question pour être plus spécifique spécialement que l'optimisation est illimitée.
Je veux savoir quelle est la meilleure méthode dans chaque état.
Par exemple, utiliser StressBuilder est meilleur que la chaîne si je suis des lignes ajoutées à une chaîne ... J'ai seulement besoin de ces choses simples.


2 commentaires

Vous devez probablement être plus précis. La réponse générique est la suivante: faites autant que vous devez sauter que cela.


Stringbuilder ne garantit pas une amélioration de la performance lors de la concaténation de petits (<5) numéros de chaînes - DotNetPerls.com/stringbuilder-Performance


12 Réponses :


2
votes

Si une méthode était toujours plus rapide qu'une autre, elles ne se dérangeraient pas, y compris la plus lente.

Le seul invariant en matière de performance est que vous devez profiler. Tout suit de cela.


1 commentaires

Pas vrai. Regardez tous les moyens de faire des fichiers E / S en C # par exemple. Les anciennes méthodes sont suspendues à la compatibilité à l'envers, et il existe différentes couches d'abstraction, en fonction de la taille de votre niveau de faible niveau ou de haut niveau.



4
votes

Tapez vraiment vite.


2 commentaires

J'ajouterais: (1) Dessaire tous les commentaires (2) raccourcissez les variables à une seule lettre (3) Supprimer des espaces blancheurs inutiles, y compris les nouvelles lignes (4) réutiliser des variables à des fins différentes ... ;-)


Et j'ajouterais ... si vous ne tapez pas vite .. Utilisez un logiciel de discours à texte: P Je ne peux pas imaginer un programmeur à l'aide d'un logiciel de discours à texte pour coder ...



3
votes

Vous devriez regarder Caractéristiques cachées de C # , ce message couvre les meilleures pratiques de C # Développement


0 commentaires

18
votes

soyez conscient de la sous-optimisation.

Même si une fonction spécifique est plus rapide qu'un autre remplacement, cela ne va pas nécessairement faire une différence dans le temps d'exécution de votre application. Vous devez comprendre quelles parties de votre code qui constituent un problème potentiel et se concentrent sur l'optimisation de ces pièces. Soyez conscient du O Noté de vos fonctions et à quelle fréquence ils sont appelés. Identifier les pièces qui ont besoin d'optimisation, un profileur peut être de bonne aide.

Cette question a des points intéressants sur Pourquoi ne devriez-vous pas optimiser tant qu'il y ait vraiment besoin de le faire.


1 commentaires

Lien de questions a été supprimé lol :(



5
votes

implanter essentiellement d'abord, puis testez où optimiser.

Si vous utilisez Visual Studio Profissional, vous pouvez utiliser Analyse -> Lancez l'assistant de performance pour analyser la performance de la méthode. Je ne suis pas sûr de savoir si les autres versions prennent en charge cette fonctionnalité, cependant, il existe également des applications commerciales / gratuites autour de ... Recherchez le profileur (voir ici pour une liste).


0 commentaires

1
votes

en termes d'avis général:

  • Essayez d'utiliser les moins de boucles nécessaires
  • Déplacer le code des boucles dans la mesure du possible
  • Évitez de copier des objets (comme des cordes) dans des boucles
  • Évitez de créer des objets dans des boucles
  • cache où la garantie (généralement des petits objets qui prennent beaucoup de temps à faire), mais assurez-vous que votre cache a une bonne politique d'élimination ou se transforme en une fuite de mémoire

0 commentaires

2
votes

Si vous êtes un profileur, cela vous aidera, certains vous donneront même de bons conseils.

Exemple: Profiler

Habituellement, vous constaterez que la réduction du nombre de fois que vous créez des chaînes pour être la principale performance Boost Vous pouvez obtenir.

ça et ne pas jouer manuellement avec le collecteur des ordures (sauf si vous ne savez vraiment vraiment ce que vous faites)

Ce lien pour Les modèles de conception Java sont trop impliqués, ne vous arrêtez pas trop Par le mot Java, vous pouvez utiliser ce qu'ils enseignent pour le développement dans n'importe quelle langue.

La chose est, si vous voulez savoir quand faire quoi et quelles méthodes à utiliser, ainsi de suite, des modèles de conception sont de ce dont vous parlez.

Je souhaite que quelqu'un m'aurait signalé cela plus tôt dans ma carrière.


0 commentaires

3
votes

Vous pouvez avoir une tonne sur les conseils de cela. Mais soyez au courant de: L'optimisation prématurée est la racine de tout mal.


0 commentaires

1
votes

Vous pouvez compiler votre programme en mode natif pour améliorer les performances d'exécution.


0 commentaires

0
votes

L'une des façons de comprendre cela vous-même est d'avoir une application de console où vous essayez d'exécuter des morceaux de code discrets les uns contre les autres et de les calmer. Comme ici .


0 commentaires

3
votes

Objectif d'abord pour exactitude , suivant pour clarté et que performance .

comme le vieil adage va,

"Personne ne se soucie de la rapidité avec laquelle vous pouvez calculer la mauvaise réponse"

(sur un niveau pratique, utilisez un profileur)


1 commentaires

Mais cela ne peut-il pas aider qa trouver vos bugs plus rapidement? :)



7
votes

Bien sûr. Voici ce que nous faisons:

  • Commencez le voyage en décidant quand le voyage est terminé. Définir des objectifs de performance réalistes concentrés, axés sur le client. (Pour la consommation de vitesse et de ressources.)

  • Testez soigneusement votre code fréquemment pour voir si vous répondez à vos objectifs de performance.

  • Si vous rencontrez vos objectifs de performance, ne vous inquiétez pas de la performance. Les choses vont bien. Inquiétez-vous pour les bugs, la robustesse ou les fonctionnalités.

  • Si vous ne répondez pas à vos objectifs de performance, exécutez un profileur. Utilisez-le pour identifier quel est le pire code fautif. Il suffit de résoudre le pire code; Faire quelque chose qui est déjà incroyablement rapide et léger légèrement plus rapide et plus léger ne résout pas votre problème de performance.

  • Réécrivez le code lent afin que ce soit plus performant. (C'est le nombre difficile.) Assurez-vous de le tester pour vous assurer qu'il est vraiment meilleur.

  • Si malgré vos meilleurs efforts, vous ne pouvez pas vous en rendre bon, soit réévaluer ce que vos objectifs sont ou annulent le projet et passez votre temps sur quelque chose que vous pouvez réussir.

    Gardez l'itération de cela jusqu'à ce que vous expédiiez quelque chose.


0 commentaires