`
xiaoshenge
  • 浏览: 169770 次
  • 性别: Icon_minigender_1
  • 来自: 十堰
社区版块
存档分类
最新评论

opcode看PHP代码性能问题之疑惑

 
阅读更多

最近在看到 一些PHP Coding Tips》中提到一点:避免在for判断条件中做运算。

 

于是兴起用vld看了一下:


for ($i=0; $i<strlen($str);$i++)

for($i=0, $j=strlen($str); $i<$j; $i++)

opcode:

$name = "xiaoshenge";
for ($i = 0; $i < strlen($name); $i++) {
    echo "1";
}

 

$name = "xiaoshenge";
for ($i = 0, $j = strlen($name); $i < $j; $i++) {
    echo "1";
}
 


由此来看的opcode区别还真看不出来,所以我有点怀疑之前看到的文章用opcode来看PHP代码的性能问题,于是发邮件请假了几个前辈,但是只有一个看到并且回复我了。

 

 

其中reeze.xia@gmail.com(http://www.phppan.com/)是怎么回复的:

 

这两者的opcode相近也是可以理解的,opcode相当于只是把需要进行的操作翻译了一下,

不过我们直观的从代码也能看出两者的却别,后者需要进行的计算会小点,不过这只是从直观看的,
最终我们还是需要自己做个性能测试验证一下,因为性能涉及到的内容太广了,
Zend引擎本身可能会对操作进行优化,CPU自己也会有自己的优化,这些都可能都会影响到我们的性能:)

所以,php的opcode还不是类似C的编译后的可执行文件,单纯用opcode分享代码执行效率还是有点问题的...

 

 

  • 大小: 22 KB
  • 大小: 22.4 KB
1
0
分享到:
评论

相关推荐

    PHP 5.3 OPCODE工具(用于zend 加密php 5.3分析,逆向)

    php opcode的反解,用于分析PHP ,逆向PHP 加密,由OPCODE转换PHP代码. WINDOWS 版本的使用: 开始,运行,CMD 进入PHP所在目录,执行: Php.exe –c php.ini 111.php 回车,即可查看:111.php 的OPCODE值. 用这个工具,可以...

    高性能php7源代码

    《高性能PHP7源代码》是针对PHP...总而言之,《高性能PHP7源代码》是开发者深入理解PHP7内部机制、提升代码性能的重要指南。通过学习源代码,我们可以了解到PHP7的优化策略,从而编写出更加高效、稳定的PHP应用程序。

    PHP7如何开启Opcode打造强悍性能详解

    描述中提到,Opcache是PHP官方公司Zend开发的优化加速组件,能够将PHP代码预编译成Opcode并缓存,从而在后续请求中避免重复编译,提高性能。 Opcache(前身是Optimizer+)的核心功能是将PHP代码转换为中间语言——...

    PHP中opcode缓存简单用法分析

    在PHP中,opcode缓存是一个重要的性能优化技术,它通过缓存PHP脚本编译后的中间代码来提高应用程序的执行效率。以下是针对标题“PHP中opcode缓存简单用法分析”及描述中的知识点的详细说明: 1. opcode的概念:在...

    ogre+opcode源代码

    《Ogre+Opcode源代码解析:深入理解游戏物理碰撞机制》 在游戏开发领域,物理碰撞是不可或缺的一部分,它使得虚拟世界中的物体交互显得更为真实。本篇文章将围绕"ogre+opcode"这一主题,详细解析这个源代码示例,...

    OpcodeMap

    在IT领域,尤其是计算机编程和软件开发中,"OpcodeMap"是一个重要的概念,尤其是在低级语言和...通过研究和掌握OpcodeMap,开发者可以更有效地编写、调试和优化代码,同时也能够更好地理解和应对各种软件和硬件问题。

    C程序编写的opcode反汇编源代码

    标题中的"C程序编写的opcode反汇编源代码"指的是使用C语言编写的程序,其功能是将可执行文件(通常是PE格式,即Windows平台上的Portable Executable)中的机器码指令转换为人类可读的汇编代码。这在软件保护、逆向...

    深化理解PHP之OpCode原理详解_.docx

    PHP OpCode 原理详解 OPCode 是一种 PHP 脚本编译后的中间语言,就像 Java 的 ByteCode ...OPCode 是 PHP 脚本编译后的中间语言,PHP 代码执行过程可以分为四个步骤:Scanning、Parsing、Compilation 和 Execution。

    opcode编译器机器码

    汇编语言是一种低级编程语言,它与特定的计算机架构紧密相关,每个指令都对应一个特定的机器码,也称为opcode。本篇文章将深入探讨opcode、汇编编译器以及它们在计算机体系结构中的作用。 首先,让我们理解什么是...

    Opcode定义和查询

    这个表格会列出每条x86指令在典型CPU上执行所需的时钟周期数,这对于优化代码性能,特别是对于时间敏感的应用程序和嵌入式系统,具有重要意义。 在"80x86 opcodes"这个压缩文件中,很可能包含了详细的Opcode列表,...

    高性能PHP应用开发

    为了减少重复工作,PHP会缓存编译后的代码,这就是著名的Opcode缓存,如OPcache。开启OPcache可以显著提升PHP的运行速度,因为它避免了每次请求时重复解析和编译PHP脚本。 其次,数据库优化是提升性能的关键环节。...

    一个能够Hook绝大多数函数类部分opcode的PHP7扩展

    3. **Hook部分opcode**:PHP的源代码在执行前会被转换成中间表示——opcode。Hook部分opcode意味着扩展可以捕获并影响这些低级别的指令,这提供了非常底层的控制能力。开发者可以通过这种方式实现更细粒度的控制,...

    PHP代码优化,代码格式化

    11. **使用opcode缓存**:如APC或OpCache,它们可以编译PHP代码成opcode并缓存,避免每次请求都重新解析PHP源码。 12. **减少HTTP请求**:合并CSS和JavaScript文件,使用CSS Sprites减少图片请求,都能有效提升页面...

    汇编指令之OpCode快速入门

    ### 汇编指令之OpCode快速入门 #### 一、引言 在计算机科学领域,特别是编程语言底层实现方面,汇编语言占据着举足轻重的地位。它是一种低级语言,允许程序员直接控制硬件资源,对于系统编程、逆向工程、安全研究等...

    Opcode.zip

    通过这些位图,开发者或逆向工程师可以更深入地理解Opcode的内部工作,这对于调试、性能优化和软件逆向工程来说非常有价值。在处理低级别的编程、系统级开发或者硬件接口设计时,对Opcode的深入理解是必不可少的。...

    Opcode轻量级的碰撞检测库

    在实际应用中,Opcode的性能表现优秀,特别是在处理大量物体时,其空间划分和优化策略能够显著减少计算量。然而,对于非常复杂的物理模拟,如车辆动力学或者流体模拟,可能需要更强大的物理引擎,如Bullet或PhysX。 ...

    利用PHP扩展vld查看PHP opcode操作步骤

    vld(Visualize PHP opcodes)是一个用于调试和分析PHP opcode的扩展,它可以帮助开发者理解PHP脚本的内部工作原理,优化代码性能。 描述中提供的步骤详细介绍了如何在Linux环境下安装和配置vld扩展: 1. 首先,...

    基于机器学习的android恶意代码检测,n-gram opcode + RandomForest.zip

    基于机器学习的android恶意代码检测,n-gram opcode + RandomForest.zip本资源中的源码都是经过本地编译过可运行的,评审分达到95分以上。资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用...

Global site tag (gtag.js) - Google Analytics