diff --git a/complexite.md b/complexite.md new file mode 100644 index 0000000000000000000000000000000000000000..4c49e66c0e379bcde94150f72e8c55389640be6b --- /dev/null +++ b/complexite.md @@ -0,0 +1,31 @@ +# Efficacité d'un algorithmique + +Comment mesurer l'efficacité d'un algorithme? + +. . . + +* Mesurer le temps CPU, +* Mesurer le temps d'accès à la mémoire, +* Mesurer la place prise mémoire, + +. . . + +Dépendant du **matériel**, du **compilateur**, des **options de compilation**, +etc! + +## Exemple: somme d'entiers + +```C +#include <time.h> + +struct timespec tstart={0,0}, tend={0,0}; +clock_gettime(CLOCK_MONOTONIC, &tstart); +// some computation +clock_gettime(CLOCK_MONOTONIC, &tend); + +printf("some_long_computation took about %.5f seconds\n", + ((double)tend.tv_sec + 1.0e-9*tend.tv_nsec) - + ((double)tstart.tv_sec + 1.0e-9*tstart.tv_nsec)); +``` + +* Il est nécessaire d'avoir une mesure indépendante du matériel.