Conseils de codage en C/Performances

Un livre de Wikilivres.

Ces conseils permettent d'obtenir des programmes plus rapides ou utilisant seulement les ressources nécessaires.

Éviter d'éparpiller les entrées-sorties (c_perf_1)[modifier | modifier le wikicode]

Il faut éviter d'effectuer des entrées sorties dans une partie du programme qui réalise des calculs de façon intensive. Il faut regrouper ces opérations d'échange dans une partie consacrée à l'initialisation ou à l'écriture et la communication des résultats.

Justification[modifier | modifier le wikicode]

L’appel répété aux fonctions du système est pénalisant pour les performances. Les accès aux moyens de stockage de masse (disques) ou au réseau sont beaucoup plus longs que les échanges avec les registres ou la mémoire vive.

Utiliser l'algorithme le plus rapide (c_perf_2)[modifier | modifier le wikicode]

Pour effectuer une même opération, il peut exister différents algorithmes ayant un nombre d'opérations différent. Il faut employer le plus adapté pour obtenir de meilleures performances en temps de réponse.

Justification[modifier | modifier le wikicode]

Les instructions issues de la compilation des fichiers sources sont exécutées par un processeur, mais pas de façon simultanée. Certaines opérations prennent plus de temps que d'autres.

Exemple[modifier | modifier le wikicode]

  • Pour trier un grand nombre d'information, utiliser un algorithme de tri rapide de type Quick Sort comme qsort de la librairie C standard. plutôt qu'un tri bulle.
  • Pour des calculs mathématiques (matrices, algèbre linéaire), utiliser des bibliothèques spécialisées.