J'ai trouve dans System.Runtime.CompilerServices comment ne pas mettre
une fonction inline. Il faut utiliser l'attribut:
[MethodImpl(MethodImplOptions.NoInlining)]
En revanche je n'ai pas trouve comment la mettre inline.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Eric Vernié [MS]
Bonjour Michael,
Cet attribut ne s'applique que pour le Just In Time Compilateur. Et lui indique de ne pas "inliner" la méthode. L'inverse n'est pas possible, car le JIT n'en fait qu'a ça tête et "inlinera" une méthode sous certaine condition et ceci dépendra sans doute du langage que tu utilises. En C++ tu peux forcer le compilateur à inliner certaine méthode, en C# et en VB.NET il faut t'en remettre au JIT Compilateur ou au code tu écrits. Par contre tu peux l'y aider car l'inlining se fera sous certaines conditions.
Pour t'assurer ce que fait le Jit Compilateur tu peux lancer le debuggeur cordbg de la manière suivante. 1) Sous le mode console lances cordbg.Exe 2) vérifies le mode d'optimisation en place: Tapes la commande "Mode" 3) Si le mode JitOptimizations=0 met le à 1: Tapes la commande "JitOptimizations 1" 4) Execute ton programme : Tapes "run TonProgramme.Exe" 5) Affiche le code Assembleur : Tapes "dis 20"
La prochaine version de Visual Studio 2005, le compilateur C++/CLI (C++ pour .NET) inlinera le code IL generé lorsqu'il le pourra et aide ainsi le JIT
Cordialement
Eric Vernié Microsoft France
"Michael Moreno" wrote in message news:
Bonjour,
J'ai trouve dans System.Runtime.CompilerServices comment ne pas mettre une fonction inline. Il faut utiliser l'attribut: [MethodImpl(MethodImplOptions.NoInlining)]
En revanche je n'ai pas trouve comment la mettre inline.
Pourriez-vous m'aider svp ?
Merci.
-- ---- http://michael.moreno.free.fr/
Bonjour Michael,
Cet attribut ne s'applique que pour le Just In Time Compilateur. Et lui
indique de ne pas "inliner" la méthode.
L'inverse n'est pas possible, car le JIT n'en fait qu'a ça tête et
"inlinera" une méthode sous certaine condition et ceci dépendra sans doute
du langage que tu utilises. En C++ tu peux forcer le compilateur à inliner
certaine méthode, en C# et en VB.NET il faut t'en remettre au JIT
Compilateur ou au code tu écrits.
Par contre tu peux l'y aider car l'inlining se fera sous certaines
conditions.
Pour t'assurer ce que fait le Jit Compilateur tu peux lancer le debuggeur
cordbg de la manière suivante.
1) Sous le mode console lances cordbg.Exe
2) vérifies le mode d'optimisation en place: Tapes la commande "Mode"
3) Si le mode JitOptimizations=0 met le à 1: Tapes la commande
"JitOptimizations 1"
4) Execute ton programme : Tapes "run TonProgramme.Exe"
5) Affiche le code Assembleur : Tapes "dis 20"
La prochaine version de Visual Studio 2005, le compilateur C++/CLI (C++ pour
.NET) inlinera le code IL generé lorsqu'il le pourra et aide ainsi le JIT
Cordialement
Eric Vernié
Microsoft France
"Michael Moreno" <michael.ToRemove.moreno@free.fr> wrote in message
news:mn.42117d563ac7b100.21643@free.fr...
Bonjour,
J'ai trouve dans System.Runtime.CompilerServices comment ne pas mettre une
fonction inline. Il faut utiliser l'attribut:
[MethodImpl(MethodImplOptions.NoInlining)]
En revanche je n'ai pas trouve comment la mettre inline.
Cet attribut ne s'applique que pour le Just In Time Compilateur. Et lui indique de ne pas "inliner" la méthode. L'inverse n'est pas possible, car le JIT n'en fait qu'a ça tête et "inlinera" une méthode sous certaine condition et ceci dépendra sans doute du langage que tu utilises. En C++ tu peux forcer le compilateur à inliner certaine méthode, en C# et en VB.NET il faut t'en remettre au JIT Compilateur ou au code tu écrits. Par contre tu peux l'y aider car l'inlining se fera sous certaines conditions.
Pour t'assurer ce que fait le Jit Compilateur tu peux lancer le debuggeur cordbg de la manière suivante. 1) Sous le mode console lances cordbg.Exe 2) vérifies le mode d'optimisation en place: Tapes la commande "Mode" 3) Si le mode JitOptimizations=0 met le à 1: Tapes la commande "JitOptimizations 1" 4) Execute ton programme : Tapes "run TonProgramme.Exe" 5) Affiche le code Assembleur : Tapes "dis 20"
La prochaine version de Visual Studio 2005, le compilateur C++/CLI (C++ pour .NET) inlinera le code IL generé lorsqu'il le pourra et aide ainsi le JIT
Cordialement
Eric Vernié Microsoft France
"Michael Moreno" wrote in message news:
Bonjour,
J'ai trouve dans System.Runtime.CompilerServices comment ne pas mettre une fonction inline. Il faut utiliser l'attribut: [MethodImpl(MethodImplOptions.NoInlining)]
En revanche je n'ai pas trouve comment la mettre inline.