何时在Windows窗体.net应用程序中加载pre-jit编译?

时间:2018-05-10 10:06:50

标签: c# vb.net jit

遵循这个答案 Preload all assemblies (JIT)

预加载应用程序的所有程序集的好方法。可能是

Private Sub PreLoadJit()
  For Each type In Assembly.GetExecutingAssembly.GetTypes
    For Each method In type.GetMethods((BindingFlags.DeclaredOnly  _
                Or (BindingFlags.NonPublic  _
                Or (BindingFlags.Public  _
                Or (BindingFlags.Instance Or BindingFlags.Static)))))
      If (((method.Attributes And MethodAttributes.Abstract)  _
                = MethodAttributes.Abstract)  _
                OrElse method.ContainsGenericParameters) Then
        continue For
      End If
      System.Runtime.CompilerServices.RuntimeHelpers.PrepareMethod(method.MethodHandle)
    Next
  Next
End Sub

但是当启动方法时? 我想可能是MyBase.Load方法中的第一个方法,但不知道我是不是。

关注这篇较旧的文章

https://www.codeproject.com/Articles/31316/Pre-compile-pre-JIT-your-assembly-on-the-fly-or-tr

作者使用线程来运行该方法。 如果在mainthread中调用一个方法来构建pre-jit,或者将它放在一个单独的线程中呢?

0 个答案:

没有答案