Frage

Ich bin auf der Suche nach Attributen kann ich, indem sie Hinweise auf den Lader, JIT-Compiler oder ngen die beste Laufzeit-Performance für meine Net-Anwendung gewährleisten verwenden.

Zum Beispiel haben wir Debuggableattribute , die eingestellt werden sollen, um nicht debuggen und nicht die Optimierung für eine optimale Leistung deaktivieren.

[Debuggable(false, false)]

Gibt es andere, die ich wissen sollte?

War es hilfreich?

Lösung

Ecma-335 einige weitere CompilationRelaxations für entspannte Ausnahme gibt Handhabung in Anhang F „Ungenaue Störungen“ (E-entspannt Anrufe sogenannte), aber sie sind nicht von Microsoft ausgesetzt worden ist.

Insbesondere CompilationRelaxations.RelaxedArrayExceptions und CompilationRelaxations.RelaxedNullReferenceException werden genannt.

Es wäre wenig Interessantes, was passiert, wenn man nur ein paar Zahlen in dem Ctor des CompilationRelaxationsAttribute versuchen;)

Andere Tipps

Und ein anderer: Literal Strings (Strings im Quellcode deklariert) sind standardmäßig interniert in einen Pool zu speichern.

string s1 = "MyTest"; 
string s2 = new StringBuilder().Append("My").Append("Test").ToString(); 
string s3 = String.Intern(s2); 
Console.WriteLine((Object)s2==(Object)s1); // Different references.
Console.WriteLine((Object)s3==(Object)s1); // The same reference.

Obwohl es Speicher speichert, wenn die gleiche Zeichenkette mehrfach verwendet wird, kostet es etwas CPU an den Pool zu erhalten und einmal eine Zeichenfolge in den Pool gesetzt wird es bleibt dort, bis der Prozess beendet wird.

Mit CompilationRelaxationsAttribute man kann sagen, der JIT-Compiler, dass Sie es wirklich intern alle nicht die Literalzeichenfolgen wollen.

[assembly: CompilationRelaxations(CompilationRelaxations.NoStringInterning)]

Ich fand eine andere: Neutral. Nach diesem Blogeintrag es den Loader hilft bei der Suche nach den richtigen Satelliten-Baugruppen schneller durch die Kultur, wenn der Strom (neutral) Montage angeben.

[NeutralResourcesLanguageAttribute("nl", UltimateResourceFallbackLocation.MainAssembly)]
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top