题
我在找属性,我可以使用,以确保最好的运行业绩。净的应用通过给予提示的加载程序,JIT编译器或ngen.
例如,我们有 DebuggableAttribute 这应该被设置为不调试,而不是禁用优化的最佳业绩。
[Debuggable(false, false)]
是否有任何其他我该知道的吗?
解决方案
通信机制详解-335指定一些更CompilationRelaxations为宽松的例外处理的(所谓的e-轻松的话)在附件F"不精确的缺点",但他们没有被暴露。
具体地说CompilationRelaxations.RelaxedArrayExceptions和CompilationRelaxations.RelaxedNullReferenceException提到那里。
这将会是野趣的时候会发生什么你只是试着一整数在CompilationRelaxationsAttribute的构造函数;)
其他提示
和另一个:字符串(strings宣布源代码)默认 拘留 到了游泳池的保存。
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.
虽然它可以节省内存在相同的文字符串中多次使用,它的成本的一些cpu维持游泳池和一次串投入的游泳池它留在那里,直到该进程被停止。
使用 CompilationRelaxationsAttribute 你可以告诉JIT编译器,你真的不想给实习生的所有文字串。
[assembly: CompilationRelaxations(CompilationRelaxations.NoStringInterning)]
我找到另一个: NeutralResourcesLanguageAttribute.根据 此 博客它有助于加载程序在寻找合适的卫星程序集更快地通过指定的文化,如果目前的(性)组装。
[NeutralResourcesLanguageAttribute("nl", UltimateResourceFallbackLocation.MainAssembly)]
不隶属于 StackOverflow