Skip to content
Snippets Groups Projects
Verified Commit f8722d81 authored by orestis.malaspin's avatar orestis.malaspin
Browse files

updated path for complexity slides

parent 85e79812
No related branches found
No related tags found
No related merge requests found
......@@ -13,19 +13,36 @@ Comment mesurer l'efficacité d'un algorithme?
Dépendant du **matériel**, du **compilateur**, des **options de compilation**,
etc!
## Exemple: somme d'entiers
## Mesure du temps CPU
```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("computation about %.5f seconds\n",
((double)tend.tv_sec + 1e-9*tend.tv_nsec) -
((double)tstart.tv_sec + 1e-9*tstart.tv_nsec));
```
# Programme simple: mesure du temps CPU
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));
## Preuve sur un [petit exemple](../source_codes/complexity/sum.c)
```bash
source_codes/complexity$ make bench
RUN ONCE O0
the computation of 199972.740622 took about 0.00836 seconds
RUN ONCE O3
the computation of 199972.740622 took about 0.00203 seconds
RUN THOUSAND TIMES O0
the computation of 199972740.621922 took about 0.00363 seconds
RUN THOUSAND TIMES O3
the computation of 199972740.621922 took about 0.00046 seconds
```
* Il est nécessaire d'avoir une mesure indépendante du matériel.
. . .
* Il est nécessaire d'avoir une mesure indépendante du
matériel/compilateur/façon de mesurer.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment