首页 > 解决方案 > 获取从 A 点到 B 点的 CPU 指令数 A 脚本编译成 PHP

问题描述

可能吗?

假设我在 PHP 中有一些代码:

... some PHP code here

有没有这样的方法:

start_point();

... some PHP code here

end_point();
$v = dump_number_of_CPU_instructions();
echo $v;

我期望 $v 是一个整数,它给出了 start_point() 和 end_point() 之间的代码编译成的 CPU 指令数。

标签: php

解决方案


PHP 不是编译成机器码,而是“字节码”,然后由 PHP 引擎解释。我认为尝试查找 CPU 指令的数量是不切实际的。

有许多工具可以获取字节码(参见 John Bafford 对此的回应

字节码的处理使用优化和缓存,当然,取决于处理器类型,所以我怀疑将 CPU 周期计数(甚至时间)与特定字节码相关联是否可行。

处理字节码不适合胆小的人。大多数人只是尝试为 PHP 代码计时并满足于此。


推荐阅读