代码之家  ›  专栏  ›  技术社区  ›  demoncodemonkey

衡量应用程序启动性能

  •  0
  • demoncodemonkey  · 技术社区  · 15 年前

    我在Windows上使用C++/CLI。这是一个使用/clr构建的MFC应用程序。

    有没有什么工具可以让我从缓存中删除一个目录,这样每次我的测试条件都是一样的?我不想在测试之间重新启动:)

    2 回复  |  直到 15 年前
        1
  •  3
  •   Joshua    15 年前

    如果您使用的是.Net framework,那么这6秒钟很可能正在等待框架初始化(加载mscoree.dll等)。 CLR Inside Out: Improving Application Startup Performance

    冷启动需要加载所有.Net Framework并运行JIT编译器来生成代码。

    当您第二次启动应用程序时,几乎所有这些都完成了。i、 e.DLL已加载,它可能会提取以前编译的代码,等等。

    程序启动并运行后,JIT编译器将在首次调用.Net中的任何未编译IL时对其进行编译。

    而且,据我所知,一旦加载了框架,就没有一种不重新启动就卸载它的简单方法(如果您可以卸载它的话)。在加载框架之前让虚拟机处于已保存状态可以大大减少“重新启动”所需的时间。

        2
  •  0
  •   Community CDub    7 年前