Bonjour à toutes et à tous,
travaillant sur un logiciel de benchmark je me suis étonné de certains résultats retournant un temps nul.
J'ai donc pris un cas parmi ceux qui posent problèmes et je tente de lui tirer les vers du nez.
En gros voilà ce qui est fait, la fonction get_time() travaille avec le Time Stamp Counter ce qui nous donne une information à la nanoseconde. Du coup je m'étonne assez de voir 0ns pour l'allocation de 1048576 octets...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 t1 = get_time(); mem = (char*)malloc(sizeof(size)); t2 = get_time(); free(mem); t3 = get_time();
Les sources sont compilées avec g++ (plus la version sous la main et un peu la flemme de refaire un allez retour jusqu'au labo...) en O2.
Est-ce que je m'avance de trop en supposant que vu que le pointeur n'est pas utilisé le compilateur évince ces instructions durant l'optimisation ?
Cordialement,
xTG.
Partager