php - 获取从 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 引擎解释。我认为尝试查找 CPU 指令的数量是不切实际的。
有许多工具可以获取字节码(参见 John Bafford 对此的回应)。
字节码的处理使用优化和缓存,当然,取决于处理器类型,所以我怀疑将 CPU 周期计数(甚至时间)与特定字节码相关联是否可行。
处理字节码不适合胆小的人。大多数人只是尝试为 PHP 代码计时并满足于此。
推荐阅读
- javascript - 来自字符串的 JavaScript 日期。意想不到的结果
- python - 从 PEP518 环境 (pyproject.toml) 中的另一个包访问非 Python 文件
- vue.js - Vue 模板 - 将返回的文本字符串中找到的任何 URL 制作为链接
- php - 使用 Eloquent 检索父类别名称?
- python - 如何在 Python 游戏库存系统中正确使用循环?
- indexing - 如何在 CosmosDB 中索引和查询复杂的空间类型?
- firebase - React Native,Redux,更新覆盖初始状态,Firebase
- addeventlistener - 使用 Javascript 更改字体粗细和不透明度
- docker - 如何从 docker 容器触发主机中的脚本?
- apache-spark - 将 PySpark 数组列乘以标量