A vrai dire, c'est surtout que je n'avais pas compris comment utiliser ta fonction.
Donc j'ai fais ça :
Code:
Procedure.q ElapsedCycles()
!rdtsc
ProcedureReturn
EndProcedure
DisableDebugger ; ********************************************** 1
Delay(1) ; ***************************************************** 2
temp = ElapsedCycles()
For n = 1 To 100000000
trucATester + 1
Next n
Norm = ElapsedCycles() - temp
MessageRequester("Norm1", Str(Norm) + " - " + Str(trucATester))
Delay(1) ; ***************************************************** 3
temp = ElapsedCycles()
For n = 1 To 100000000
trucATester + 1
Next n
Opti = ElapsedCycles() - temp
MessageRequester("Opti1", Str(Opti) + " - " + Str(trucATester))
Delay(1) ; ***************************************************** Final
diff = Norm - Opti
MessageRequester("Diff", Str(diff))
Mais au final on à un chiffre pas très parlant.
Utilisant exactement le même code dans les 2 situations, je m'attendais donc à quelque chose de proche de zéro, mais non.
A un moment, je m'étais dit que cela pouvait venir du processeur qui montait en température à cause du 1er calcul et du coup qui fatiguait pour le second.
Donc j'ai mis une interruption de 10sec entre les 2 calculs, mais cela n'a pas amélioré la chose.
Dommage
Donc je ne sais pas si l'on pourra vraiment avoir un bon benchmark.