Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.sys.atari > #11363

Re: Dhrystone Benchmark (examen rapide du binaire)

From Arachide <houten.van@orange.fr>
Newsgroups fr.comp.sys.atari
Subject Re: Dhrystone Benchmark (examen rapide du binaire)
Date 2015-07-20 15:37 +0200
Organization Aioe.org NNTP Server
Message-ID <moitfk$9q6$1@speranza.aioe.org> (permalink)
References (3 earlier) <mofvho$m2j$1@speranza.aioe.org> <mog2kp$tb5$1@speranza.aioe.org> <mogauc$iv6$1@speranza.aioe.org> <moib86$qi4$1@speranza.aioe.org> <mois9e$6vg$1@speranza.aioe.org>

Show all headers | View raw


Le 20/07/2015 15:15, LE COAT François a écrit :
> Si le programmeur écrit un code, c'est parce que son exécution est
> nécessaire. En ne réalisant pas les opérations, le binaire risque de ne
> pas être conforme aux sources. Je suppose que c'est la raison pour
> laquelle il y a une quantité impressionnante d'alertes à la compilation.
> Mais on a affaire à un compilateur optimisant, qui ne réalise pas ce
> qui est écrit. On peut donc considérer que le bench n'est pas valide.
> Le programme exécuté devient à ce point réduit, que la boucle
> principale tient dans le cache, et son exécution devient ultra rapide.

Oui, le binaire est assez dur à suivre d'ailleurs car on ne reconnait 
pas le source par endroit. Sauf à beaucoup réfléchir.

> Je me demande s'il est possible par des options de compilation de
> supprimer ces optimisations ?

Je pense que le PureC sortirait un code conforme au source. Mais il 
faudrait l'adapter.
Ou alors, écrire le bench directement en assembleur pour maîtriser 
exactement ce qui est fait.

 > Elles sont particulièrement gênantes
> dans certaines situations. Il est très facile d'optimiser un code
> "à la main". Si c'est le compilateur qui s'en charge, je ne suis pas
> d'accord. Les optimisations automatiques ne sont jamais bonnes, elles
> ne font pas d'un mauvais codeur un bon code, et ne font gagner que très
> peu de temps de calcul, au risque de produire un résultat faux. Si un
> programme est lent, c'est souvent qu'il faut le repenser. Et ça, un
> compilateur optimisant est trop "idiot" pour le faire automatiquement.

Je suis partagé. Je ne pense pas que l'optimisation produise un code 
faux. Les optimisations peuvent être intéressantes car parfois le source 
est écrit d'une manière "humaine" afin qu'il soit facilement lisible.

Par exemple, je peux avoir cette situation:

lignes = 15
colonnes = 8
elements = lignes * colonnes

Le programmeur ne fait pas d'elements une constante simplement pour 
montrer comment il calcule le nombre d'éléments du tableau. Pourtant, il 
est fixe: 15 * 8 = 120.
je trouve bien que dans un programme compilé tous ces calculs 
n'interviennent plus et qu'on ait la valeur 120 directement intégrée.

Par contre, pour le reste, je suis assez d'accord que si les 
programmeurs tablent sur l'optimisation du compilateur, ça ne pousse pas 
à faire des sources réfléchis.

Et même, on pourrait être dans une situation inverse où le source 
optimisé est moins bien interprété par le compilateur et donne un code 
binaire au final plus mauvais.

Tout ce que je dis ça reste vrai sur un processeur CISC à un coeur. Mais 
avec les nouvelles puces qui sortent, un compilateur bien fait permet de 
mieux paralléliser et d'utiliser au mieux les ressources des multicoeurs.

Guillaume.

Back to fr.comp.sys.atari | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Re: Dhrystone Benchmark LE COAT François <lecoat@atari.org> - 2015-07-18 22:22 +0200
  Re: Dhrystone Benchmark LE COAT François <lecoat@atari.org> - 2015-07-19 12:52 +0200
    Re: Dhrystone Benchmark Arachide <houten.van@orange.fr> - 2015-07-19 13:45 +0200
      Re: Dhrystone Benchmark OL <o.l@lutece.net> - 2015-07-19 19:32 +0200
      Re: Dhrystone Benchmark (examen rapide du binaire) LE COAT François <lecoat@atari.org> - 2015-07-20 15:15 +0200
        Re: Dhrystone Benchmark (examen rapide du binaire) Arachide <houten.van@orange.fr> - 2015-07-20 15:37 +0200
      Re: Dhrystone Benchmark (examen rapide du binaire) "Daroou" <daroouAR08A5EfreeP01NTfr> - 2015-07-20 20:08 +0200
        Re: Dhrystone Benchmark (examen rapide du binaire) "Daroou" <daroouAR08A5EfreeP01NTfr> - 2015-07-20 20:20 +0200
        Re: Dhrystone Benchmark (examen rapide du binaire) LE COAT François <lecoat@atari.org> - 2015-08-02 18:35 +0200

csiph-web