good questionyou can use ngen xx.dll

解决方案 »

  1.   

    没太看懂。什么意思
    所有的.cs文件不是已经编译成dll了吗。。
      

  2.   

    楼上的意思是,如果是CODE-BEHIND方式,已经编译成DLL的情形下不会有延迟?可在我实际使用过程中,还是明显感觉到了这一延迟。
      

  3.   

    可能 ngen xx.dll 是正解
    这本身就是.net平台的特性之一,没什么可解决的
      

  4.   

    即时编译Builder:关于各种各样的编译选项及其所产生的性能表现一直存在概念上的某些误解。你能解释下JIT和安装时编译的工作原理以及每一种编译选项的性能结果吗?Jim Miller,公共语言运行时首席项目经理:缺省情况下,在.NET框架上运行的代码都是即时(JIT)编译的。就是说,在代码运行的时候,假如编译器首次遭遇特定的方法(method),那么某一块代码将从MSIL(微软中介语言)翻译为x86机器指令。所产生的x86指令则会被存储起来供应用程序在执行期间使用。这样,如果应用程序再次调用该方法,处理器就会直接跳到对应的x86指令而无需重新编译 MSIL。一旦大多数方法都被即时编译,则JIT编译还没有被调用的不常用方法的开销几乎可以忽略不计。在程序开始运行的时候,此时,应用程序大多数或者所有的方法都是首次提交给JIT编译器,应用程序的性能自然会受到一定程度的冲击。为此,我们又为代码提供了可选择的pre-JIT (也称为本机映像生成器:NGEN)。这种技术将在运行时之前把MSIL翻译为x86指令,从而有效地避免了程序启动的延迟现象。简而言之,如果程序的启动时间成为一个问题,那么你不妨考虑对程序代码进行pre-JIT编译。另外请参考这篇文章:
    http://www.aspcool.com/lanmu/dot.asp?ID=898&bbsuser=csharp