阅读解释了多少Python指令?

阅读解释了多少Python指令?,python,Python,有没有办法读取自虚拟机启动以来已解释了多少Python虚拟机指令?我意识到这可能(如果可能的话)只适用于CPython。不容易。衡量性能的标准方法是使用。还是 在cpython2中,通过读取PyThreadState结构,可以从扩展模块(即C代码)获得当前线程的近似测量值。有一个名为tick_counter的字段,当它与检查间隔相乘时,会产生执行的字节码指令数。或者,换句话说,解释器主循环的迭代次数 但由于检查间隔在执行过程中可能会发生变化,因此该值并不精确 CPython 2.7.4的有趣链接

有没有办法读取自虚拟机启动以来已解释了多少Python虚拟机指令?我意识到这可能(如果可能的话)只适用于CPython。

不容易。衡量性能的标准方法是使用。还是

在cpython2中,通过读取
PyThreadState
结构,可以从扩展模块(即C代码)获得当前线程的近似测量值。有一个名为
tick_counter
的字段,当它与检查间隔相乘时,会产生执行的字节码指令数。或者,换句话说,解释器主循环的迭代次数

但由于检查间隔在执行过程中可能会发生变化,因此该值并不精确

CPython 2.7.4的有趣链接:

由于CPython 3.2的tick_计数器失去了真正的意义,因此您不得不使用前面提到的跟踪或分析:


您所说的说明是什么意思?代码行?函数调用?这是一种高级语言,毕竟不是汇编语言。@JarosławJaryszew:我猜是VM指令。我记得通过计算这些指令来分析Prolog程序,这非常有用。(有趣的是,谷歌搜索“cpython count指令”的结果出现在第四位:)相关:@FabienAndre,quora,SO邪恶的android兄弟。:)用这种技术衡量字节码指令的数量会减少吗?我想这取决于平台(编译器+Arquit结构组合)。由于勾号计数器只会增加,在长时间运行的程序中,它会溢出,很可能会环绕。而且,由于它是一个有符号整数,它最终会变成负数。