PHP的语言层面的优化和代码优化
大规模的系统开发中,Cache无疑是至关重要的,php世界里,虽然不如java当中,有那么丰富的cache解决方案可以选择,但是,仍然有一些成熟的方案,从《advanced PHP programming》中我就学到了如下一些: 1、语言层面的优化:php具有不少引擎(engine)层面的api,通过这些api,可以改变引擎执行的行为,从而达到优化运行的目的。其中,最值得 去做的就是对编译结果cache。众所周知,php每次执行都需要经历源代码–〉编译–〉中间代码–〉引擎执行 这样的过程,对于一些大型应用,相当多的时间花费在无益的编译上了(不仅仅是访问页面的php文件需要经过编译环节,当脚本中利用require(), include()包含的一些文件都需要经过编译)。通过对编译结果的cache,能够极大地提高系统的性能(和系统复杂性、规模成正比) 。 php世界中三个主流的能够实现编译cache的工具是: The Zend Accelerator—A commercial, closed-source, for-cost compiler cache produced by Zend Industries APC的安装方法,APC包含在PECL中,具体安装如下 190-823 190-802 : 运行命令 #pear install apc 之后,在php.ini文件中添加: extension = /path/to/apc.so 这样,就完成了安装,当下次运行php,APC就会自动激活,将编译结果放入共享内存中cache起来,下次再执行的时候就直接从内存中获取编辑结果执行,不需要再次编译。 疑问:对于自上次编译后变动了的php,APC是否能够自动重新编译? 2、php代码优化:利用一些工具能够市的编译后产生优质中间代码,具体如下: The Zend Optimizer is a closed-source but freely available optimizer. 优化器主要的功能: 1、清除无用的代码,例如永远也不会执行的死代码。 2、常量的计算,例如将$seconds_in_day = 24*60*60直接变为$seconds_in_day = 86400; 3、其它代码优化功能,例如有这么一个语句: $count++; 会优化为++$count,使得执行速度更快。 当然,如果语句是$i = $count++;则不会进行优化
The ionCube Accelerator—A commercial, closed-source, but free compiler cache written by Nick Lindridge and distributed by his company, ionCube
APC—A free and open-source compiler cache written by Daniel Cowgill and George Schlossnagle
The ionCube accelerator contains an integrated optimizer.
proof-of-concept optimizer in PEAR.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.
