Hasty Briefsbeta

双语

Using Perfetto in ZJIT

a day ago
  • 从JIT编译代码到解释器的侧出口(或去优化)会降低性能,目标是尽量减少它们。
  • ZJIT提供`--zjit-stats`来输出关于侧出口、C调用和其他减速的计数器,但这些缺乏空间和时间上下文。
  • Perfetto是一个用于可视化和分析跟踪的系统,可以用来查看Ruby代码中侧出口发生的地点和时间。
  • 使用Perfetto中的SQL查询,可以按原因和方法聚合侧出口事件,以识别热点,例如守卫形状失败。
  • 跟踪数据可以以JSON或更紧凑的Fuchsia跟踪格式(FXT)发出,并可以选择对出口进行采样以减小文件大小。
  • 这篇博文演示了如何在ZJIT中设置Perfetto跟踪,并鼓励社区贡献以进行进一步探索。