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


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

Re: Dhrystone Benchmark (examen rapide du binaire)

From LE COAT François <lecoat@atari.org>
Newsgroups fr.comp.sys.atari
Subject Re: Dhrystone Benchmark (examen rapide du binaire)
Date 2015-08-02 18:35 +0200
Organization Aioe.org NNTP Server
Message-ID <mplgsl$uoa$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> <55ad391d$0$3358$426a34cc@news.free.fr>

Show all headers | View raw


Salut,

Daroou écrit :
> Je comprend pas que vous critiquiez le fait que Gcc optimize
> le code alors que c'est ce qu'on lui demande ?
>
> Il supprime pas du code essentiel au bon fonctionnement du
> programme, il a l' "intelligence" de ne pas executer du code qui
> sert à rien, moi je dis bravo.
>
> Le seul reproche que je pourrais lui faire, c'est de ne pas balancer
> un warning indiquant qu'une portion de code est mal écrite/ne
> sert à rien.
>
>
> Si vous voulez que le test Dhrystone soit executé en totalitée, vous devez
> utiliser la version non optimisé, là, Gcc compile bêttement ce que vous lui
> donnez en source.
>
> {
>      int dummy;
>
>      for(dummy=0; dummy<99555; dummy++)
>      {
>      }
> }
>
>
>   move.l #99555,%d0
> .L37:
>   subq.l #1,%d0
>   jne .L37
>
> Etant donné que dummy n'est pas utilisé, il se permet quand même
> de modifier le sens de la boucle (pour aller plus vite ?) ;)

Je ne suis pas tout à fait d'accord. Le compilateur est supposé produire
un code conforme aux sources. Si pour que le code soit conforme aux
sources il faut lui demander de ne pas optimiser dutout, il y a un
problème. Car le compilateur de version GNU/GCC 3 optimise énormément,
et peut même passer beaucoup de temps sur une optimisation très poussée,
mais il produit un code exactement conforme aux sources. C'est une
philosophie très différente entre les compilateurs de versions 3 et 4.

Le compilateur GNU/GCC 4 optimise de manière systématique, et ne fera
pas d'un mauvais codeur, un bon code. Les optimisations qu'il effectue
peuvent très bien être pensées et réalisées par un bon codeur. Et si le
code est trop lent, c'est que le programmeur doit repenser son code avec
d'autres algorithmes, moins gourmands. Cela, même un compilateur
optimisant très poussé ne saura pas le faire. L'optimisation du
compilateur dans le cas de GNU/GCC 4 n'est efficace que pour un
programmeur très mauvais, et ne décourage nullement le programmeur
à écrire n'importe quoi. Au contraire, c'est un encouragement à écrire
des codes très basiques, favorables à l'optimisation "bête" de celui-ci.

L'effet pervers que je rencontre, c'est qu'un code déjà optimisé "à la
main" soit très mal interprété par le compilateur, et que le résultat
optimisé ne soit pas fonctionnel, car il aura été mal interprété. C'est
un nivellement par le bas de l'intelligence exigée à la programmation
d'un bon code.

Un bon conducteur fera sa route en évitant les ralentissements de la
circulation routière. Le GPS choisira le trajet le plus court, et
en envoyant tous les conducteurs sur le même trajet, ralentira la
circulation. C'est un effet pervers de l'assistance à la conduite.

L'optimisation n'est pas assez "intelligente" et ne remplace pas celle
d'un bon programmeur. L'effet pervers est qu'elle rende inopérant le
travail d'optimisation réalisé par le programmeur. Voire qu'elle
interdise tout simplement de penser un code de manière optimisée.

ATARIstiquement vôtre =)

-- 
François LE COAT
Auteur de Eurêka 2.12 (Grapheur 2D, Modeleur 3D)
http://eureka.atari.org/

Back to fr.comp.sys.atari | Previous | NextPrevious 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