[go: up one dir, main page]
More Web Proxy on the site http://driver.im/Aller au contenu

Dhrystone

Un article de Wikipédia, l'encyclopédie libre.

Dhrystone est un programme de test de performance, créé par Reinhold Weicker en 1984. Il est destiné à mesurer des performances de calcul entier en Pascal, en C et en ADA. Il utilise l'unité DMIPS pour noter une valeur moyenne de nombre d'instructions exécutées par seconde.

Dhrystone tente, via les DMIPS (Dhrystone MIPS), de représenter le résultat de façon plus significative que les MIPS (millions d'instructions par seconde) car MIPS ne peut pas être utilisé dans les différents ensembles d'instructions (par exemple RISC vs CISC) pour la même exigence de calcul de la part des utilisateurs.

Il a de nombreux inconvénients : il dispose de peu de code et celui-ci n'est généralement pas représentatif de la vie réelle des programmes.

Par exemple, Dhrystone fait beaucoup de copie de chaînes dans l'optique de mesurer ce genre de performances. Cependant les chaînes de Dhrystone sont de longueur constante et elles sont toutes alignées, deux caractéristiques généralement absentes des programmes réels. Par conséquent un compilateur, lors de la phase d'optimisation, peut remplacer la copie par boucle, ce qui sera nettement plus rapide. Du coup, les performances du système se retrouvent surestimées parfois à plus de 30 %.

Aujourd'hui Dhrystone ne représente plus qu'un maigre intérêt dans la mesure de performances d'un système à cause, entre autres, de sa petite taille — lui permettant de tenir dans le cache — ce qui signifie qu'il ne teste pas les performances de la mémoire d'un système[1], qui est aujourd'hui une composante importante des performances d'un système.

Notes et références

[modifier | modifier le code]

Articles connexes

[modifier | modifier le code]

Bibliographie

[modifier | modifier le code]
  • Weicker, Reinhold. "Dhrystone: A Synthetic Systems Programming Benchmark" Communications of the ACM (CACM), Volume 27, Number 10, October 1984, p. 1013-1030.

Liens externes

[modifier | modifier le code]