Cours présentant les moyens concrets d'optimiser la vitesse d'exécution d'un programme écrit en C/C++.
[...] Il est cependant important de savoir comment vous auriez du écrire votre code. Ne comptez pas sur le compilateur pour faire le travail d'optimisation à votre place. Considérez tout ce qu'il vous fait gagner comme du bonus. Avec gcc il existe plusieurs niveaux d'optimisation, consultez la manpage pour les détails. Voici un exemple avec le flag ls test1.c test2.c cat test1.c #include int main(int argc, char **argv) { if .file "test2.c" Petite explication. [...]
[...] Une post-incrémentation va en effet nécessiter une opération de plus. Il s'agit d'une opération future qui doit être sauvegardée et appliquées après des potentielles lectures sur la variable. void f(void) { int Lent. Rapide. for = i size]; } int main(int argc, char **argv) { struct hash_table htbl; int if (argc return htbl.size = HTBL_SIZE; htbl.table = malloc(htbl.size * sizeof(char for = i [...]
[...] } B - Utiliser break quand il faut. Cette fonction cherche un int dans un tableau d'int : int search(int *tab, int findme, int size) { int i = bool found = false; while [...]
[...] for = i [...]
[...] Ce dernier préfèrera un programme rapide que bien codé. Cependant un code lisible sera mieux maintenu (qualitativement et quantitativement) avec potentiellement moins de bugs etc. Tous ces points sont intéressants pour l'utilisateur. Il ne faut donc pas négliger totalement la lisibilité du code, c'est un des défis du programmeur de trouver un juste milieu à tout ça. Certains cas que nous verrons, permettront de gagner des lignes sans gagner en performances. Ces situations ne sont pas à négliger, et seront abordées. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture