2010-03-02 11 views
13

Zgodnie z pytaniem, jestem ciekawy, czy któryś z was wie o atrybutach wpływających na to, w jaki sposób CLR będzie kompilował/optymalizował kod bajtowy. Czy istnieje atrybut, który wpłynie na decyzje dotyczące wstawiania kodu? Rozwiń pętle?Czy istnieją atrybuty wpływające na optymalizację CLR podczas kompilacji JIT?

Czy istnieją nieudokumentowane atrybuty dla klas generowanych dla anonimowych typów/delegatów?

Prawdopodobnie istnieją atrybuty wyłączania optymalizacji dla celów debugowania, ale jakoś nie jestem nimi zainteresowany.

+0

"Czy istnieją nieudokumentowane atrybuty dla klas generowanych dla anonimowych typów/delegatów?" - skompilować anonimowe typy i delegatów i sprawdzić Reflector. Jest wiele interesujących cech, ale nie przypominam sobie, by widziałem coś nieudokumentowanego. –

Odpowiedz

4

Tylko jeden Użyłem w debugowanie coś:

[MethodImpl(MethodImplOptions.NoInlining)] 

Zapobiega JIT z inline metody. Istnieje również:

[MethodImpl(MethodImplOptions.NoOptimization)] 

który właśnie zapobiega JIT od optymalizacji niczego, w przypadku, gdy znalazł rzadki błąd w generacji kodu, który jest rzeczywiście przyczyną problemu.

+0

To nie była dokładnie odpowiedź, na którą liczyłem ... ale dzięki za odpowiedź! –

Powiązane problemy