IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Microsoft dévoile un nouvel optimiseur de code avancé pour Visual C++
Disponible en préversion

Le , par dourouc05

118PARTAGES

13  0 
Vous avez lu gratuitement 79 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 09/05/2016 à 14:12
3  0 
Avatar de foetus
Expert éminent sénior https://www.developpez.com
Le 09/05/2016 à 13:46
Citation Envoyé par MaximeCh Voir le message
quand on parle représentation intermédiaire ce n'est pas de l'assembleur? Ca a quelle forme?
C'est comme du bytecode Java

Et tu as un début de commencement de piste SSA

Et justement, si je ne dis pas de bêtises , dans les nouvelles normes C++ 17 19 22, ils veulent refaire le système d'include, un peu à la Java (dynamique versus statique). Mais parce que l'IR n'est pas normalisée, cela coince.
1  0 
Avatar de acx01b
Membre averti https://www.developpez.com
Le 14/05/2016 à 21:44
@dourouc05 : je ne dirais pas du tout assembleur, plutôt language bas niveau dans les instructions, mais de très haut niveau dans l'execution-flow.
notamment il travaille sur des graphes, après telle boucle, tel bloc d'instruction, puis tel appel récursif, le tout dans telle fonction, elle-même placée dans telle .dll, et le tout avec des problèmes de cache mémoire, de dépliement de boucles et d'appels récursifs, de simplification de tests redondants (notamment en C++ les type-check, genre dynamic-cast ou même appel virtuel), etc.

c'est notamment pour ça qu'il ne faut pas trop faire de "hacks" genre modifier un pointeur pour le remplacer par un int, etc. car sinon l'optimiseur ne comprend plus rien à l'execution-flow, voire se plante.

et pour conclure, c'est à cause de cet execution-flow que les bytecodes intermédiaires et les just-in-time compiler et les gestionnaires de mémoires sont intéressants, car en théorie ils sont capables de se servir du vrai execution-flow (qui dépend du contexte) pour optimiser certaines choses à l'exécution. (même si pour le moment ils sont loin d'être aussi élaborés : ils sont loin de "comprendre" le code)
1  0 
Avatar de MaximeCh
Membre éprouvé https://www.developpez.com
Le 09/05/2016 à 13:39
Bonjour,

Je n'ai pas tout lu je suis perdu : quand on parle représentation intermédiaire ce n'est pas de l'assembleur? Ca a quelle forme?
0  0 
Avatar de temoanatini
Membre averti https://www.developpez.com
Le 10/05/2016 à 12:32
encore un effort
0  0 
Avatar de ChristianRoberge
Membre habitué https://www.developpez.com
Le 31/05/2016 à 12:03
Enfin, Microsoft met le paquet pour améliorer le C++. Pourvu que cela ne s'arrête pas en chemin.
0  0 
Avatar de athlon64
Membre confirmé https://www.developpez.com
Le 08/05/2016 à 16:55
C'est du bon boulot.

Mais c'est dommage de toujours voir Microsoft dormir dans ses lauriers tant qu'il n' a pas de concurrence pour lui voler de part de marché...

"L'Apple de Steve Jobs" n'avait pas cette mentalité...
0  1