`
willko
  • 浏览: 386674 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

激动人心的 APC 新特性

    博客分类:
  • php
阅读更多
来自facebook的大牛在OSCON2009上分享了APC的当前状况和未来发展,有几点特性确实让人非常激动。APC已经不再只是一个opcode和数据缓存。

一、lazy loading
根据作者的介绍,现在APC已经支持lazy loading,并且已经在facebook中运行。
例如,
文件fun.php
<?php
function foo() {
// do something...
}

function bar() {
// do something...
}


加载fun.php,并使用里面的函数
<?php
require('fun.php'); //或者include

foo();

如果没有使用lazy loading的话,会一次性把fun.php加载进来,但是使用lazy loading后,执行到require/include的时候,并不会去加载文件,而是到使用的时候,只把需要使用的函数或者类从共享内存(APC)里复制一份已经缓存的opcode到本进程中使用。

二、代码优化
一直以来php里都没有代码优化,基于APC的优化器目前已经实现了代码优化,并发布了alpha版
例如,
$foo = 1 + 1;
经过代码优化后变成
$foo = 2;
当然,目前优化器能优化到什么程度,什么样的代码才会优化,这个不太清楚,不过目前正在往这个方向努力http://pecl.php.net/package/optimizer

三、JIT
这个还没实现,是一个还在解决的问题,目前php是通过opcode来执行的,JIT就是把php变成机器码来执行。

还有很多很多,看到我头晕,有兴趣的可以一起围观,http://tekrat.com/talks_files/OSCON09_HighPerformanceAPC.zip:0,期待APC有更好的发展。
1
0
分享到:
评论

相关推荐

    APC资源-R语言.rar

    年龄反映了个体的生物学特性,时期指的是观察的时间段,而世代则指出生时的历史时期,可能影响个体的整个生命周期。 R语言中实现APC分析,我们可以使用如`epitools`、`survival`、`cmprsk`等包。例如,`epitools`包...

    施耐德 Aveva APC 培训教程

    【施耐德Aveva APC培训教程】是针对施耐德电气公司提供的先进过程控制(Advanced Process Control,简称APC)系统的专业学习资料,旨在帮助用户深入理解和掌握该技术。APC是工业自动化领域的一个重要组成部分,它...

    西门子APC插件式产品与PCS 7集成的APC功能.pdf

    在实现APC与PCS 7集成的过程中,还需要考虑与现有系统的兼容性问题,如旧的硬件设备可能无法支持新版本的APC功能,或者现有的控制逻辑可能需要进行调整以适应新的控制策略。因此,实施之前需要进行详细的规划和准备...

    易语言移植的APC注入源码

    易语言移植的APC注入源码是一个涉及到Windows操作系统编程、进程通信和恶意代码技术的知识点。APC(Asynchronous Procedure Call)是Windows API提供的一种异步处理机制,常用于线程间的通信。在易语言中实现APC注入...

    php5.3.3_APC扩展模块

    2. **与OPcache对比**:PHP 5.5及更高版本引入了内置的OPcache,它在性能和稳定性上优于APC,但APC的共享内存特性使其在某些场景下仍具有优势。 ### 五、APC的局限性与替代方案 1. **局限性**:APC不支持PHP 7及...

    Apc.rar_APC_windows APC

    这意味着,当线程处于等待状态(如等待I/O完成)时,APC可以被用来通知线程新的任务或数据已经准备就绪。 2. **APC的类型** APC分为用户模式APC和内核模式APC。用户模式APC由用户空间的代码插入,而内核模式APC则...

    apc 缓存使用详解

    apc的详细配置 文档片段: apc_cache_info () 返回缓存信息 apc_clear_cache() 清除apc缓存内容。 默认(无参数)时,只清除系统缓存,要清除用户缓存,需用?user‘参数。 apc_define_constants ( string key, ...

    APC编译缓存扩展for php on windows ,php_apc-3.1.10-5.3-vc9-x86.zip

    apc.num_files_hint=1000 # 提供一个预估的缓存文件数量,帮助APC更有效地管理内存 ``` 在使用APC时,还需要注意以下几点: 1. 内存管理:根据你的服务器资源和应用负载合理设置`apc.shm_size`,确保不会因为内存...

    APC220&APC230;设置软件

    APC220和APC230是两种常见的无线通信模块,主要应用于远程数据传输、物联网设备以及工业自动化系统中。这些模块以其稳定性和高效性受到业界的广泛使用。在实际操作中,为了确保设备能正常工作并满足特定的通信需求,...

    C++ APC注入.zip

    C++ APC注入是一种高级的进程通信技术,常用于在Windows操作系统中实现远程线程注入。在本案例中,APC(Asynchronous Procedure Call)注入被用作替代方法,因为直接的DLL注入可能导致某些系统,如Win7,在特定情况...

    APC220使用手册

    综上所述,APC220模块凭借其高效的数据传输能力、多频道选择、透明传输特性以及宽泛的工作条件等特点,在无线数据传输领域展现出了强大的优势。无论是对于智能家居还是工业自动化等行业来说,APC220都是一个理想的...

    APC年龄时期队列模型大论文介绍.pdf

    年龄-时期-队列模型(APC模型)是流行病学、人口学等研究领域中分析数据的常用模型。...通过引入混合效应模型的参数估计方法,在一定程度上解决了此问题,并为未来APC模型的应用和推广提供了新的视角和方法。

    易语言移植的APC注入

    这种方式可以避免创建新线程或者进程,提高了效率。在Windows API中,可以使用`QueueUserAPC`函数来实现APC注入。 `CreateWMap`和`ThreadLibraryA`可能是在易语言环境下用于辅助实现APC注入的工具或函数。`...

    php5.3 php_apc

    PHP 5.3是该语言的一个版本,它引入了若干新特性,如命名空间、 Late Static Bindings 和 Closure 对象等,增强了性能和可维护性。然而,尽管PHP 5.3本身已经非常高效,但在处理大量动态内容时,为了进一步提升性能...

    APC.rar_APC_APC MIB_apc ups mib

    标题中的"APC.rar_APC_APC MIB_apc ups mib"暗示了这是一个与APC(美国电力转换公司)的UPS(不间断电源)相关的MIB(管理信息库)文件。MIB是网络管理中一个重要的概念,它定义了网络设备(如路由器、交换机或UPS)...

    使用APC缓存优化PHP程序

    【使用APC缓存优化PHP程序】 APC(Alternative PHP Cache)是PHP的一个重要的性能优化...不过,需要注意的是,随着PHP版本的更新,APC已经被更先进的OPcache所取代,对于较新的PHP版本,推荐使用OPcache进行性能优化。

    APC注入实现代码

    在IT领域,特别是系统编程和安全研究中,"APC注入实现代码"是一个涉及操作系统内核和用户模式之间交互的重要技术。"Ring0 + Ring3"标签进一步强调了这一技术在不同权限级别的运用。让我们深入探讨这个主题。 首先,...

Global site tag (gtag.js) - Google Analytics