【问题标题】:Get .NET jit-compiler logs获取 .NET jit 编译器日志
【发布时间】:2016-06-15 13:31:05
【问题描述】:

我很想知道 JIT 编译的顺序是哪些方法。

我知道有一个探查器 API 允许这样做,但我必须为此用 C++ 编写探查器。 还有一个名为 ProfileOptimization 的功能可以创建 JIT 配置文件,以便将来更快地进行后台 JIT。它创建一些二进制文件。如果我有 .exe/.pdb ,也许有可能从中获取方法名称?

我使用 perfmon 来获取 JITted 方法的数量,但数量不足以开始我的 nano 优化战争

谢谢!

【问题讨论】:

  • 这不是唯一的“但是”。假设您让 C++ 代码按照需要运行,并且您了解了 jitting 顺序,那么您将如何实际更改它?为什么您希望该程序能够更好地运行?你会让事情变得更糟的几率很高。无论如何,您都无法击败背景抖动。或者 Ngen.exe,最明显的不 jit 方法。
  • 我可以更改代码和度量。如果它不能更好地工作 - 我会保留代码原样:) 这就是为什么我确信它会更好地工作。在我的情况下,NGEN/PGO 不是一个选项。我想玩一下jitting,但我需要日志。如果它们包含特定方法的 JIT 时间,那就更好了。

标签: .net compilation jit


【解决方案1】:

您可以使用PerfView 来获取函数被JIT 编译的顺序。更具体地说,您可以使用可以生成和访问的 JIT Stats,如this 文章的“Background JIT in Action”部分所述。

【讨论】:

  • 太棒了。正是我需要的。
  • @Grigory 如果您对答案满意,请不要忘记标记答案。
  • 是的,先生!完毕! :)
猜你喜欢
  • 1970-01-01
  • 2010-09-21
  • 1970-01-01
  • 1970-01-01
  • 2013-09-01
  • 2019-03-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多