之前看了,平凡的世界大大的一篇文章 <a href="http://www.ccvita.com/">传送门</a> ,php文件缓存性能测试。很不以为然,include怎么会比io流慢了 ,就算加上序列化,按照常理,include也会稍快一些,但是事实却是是如此! 代码如下
测试io流+序列化
function read_cache($filename) {
if($datas = file_get_contents($filename)){
return $datas;
}
}
$t1 = gettimeofday();
for ($i = 0; $i < 10000; $i++){
$x = read_cache("CacheTest_SerializeData.php");
$x_r = unserialize($x);
}
$t2 = gettimeofday();
echo ($t2['sec'] - $t1['sec']) * 1000 + ($t2['usec'] - $t1['usec']) / 1000 . "\n";
测试include
$t1 = gettimeofday();
for ($i = 0; $i < 10000; $i++){
include("CacheTest_IncludeData.php");
}
$t2 = gettimeofday();
echo ($t2['sec'] - $t1['sec']) * 1000 + ($t2['usec'] - $t1['usec']) / 1000 . "\n";
结果时间相差1s 但是这中间有一个问题 序列化字符串长度有限制,是基于php数组的限制,所以大存放大量文章内容时这种io+序列化可能达不到预期的需求
分享到:
相关推荐
这两项测试可以分别反映设备的缓存读取效率和实际物理设备的读取速度,如果读取速度较慢,那么可能需要检查硬件或者系统配置。 5. 观察系统是否进入非中断睡眠状态,可以通过while true; do date; ps auxf | awk '{...
2. **异步非阻塞I/O**:Swoole的网络通信模块全部采用异步非阻塞模式,这意味着在执行网络IO操作时,不会阻塞其他任务的执行,从而提高了整体的运行效率。 3. **协程(Coroutine)**:Swoole引入了轻量级的协程概念...
`java.io`包提供了流处理,用于读写文件。Java的`System.out.println`是常用的输出语句,而`Exception`类是处理错误和异常的关键。Java的类库设计遵循“开闭原则”,使得程序员可以方便地扩展已有功能而不修改原有...
- `include_once()`和`require_once()`会在文件已经被包含过时跳过再次包含。 - 这可以避免重复定义类、函数等问题。 因此,在题目中,选项A使用了`include_once()`,这种情况下即使文件不存在也不会导致致命错误...
通过实现 spl_autoload_register() 函数,可以定义自定义的自动加载规则,使类文件在需要时被自动引入,提高代码的组织性和效率。 3. PHP的性能优化:"装货"可能暗示了性能优化的话题。一些优化策略包括使用OPcache...
Go(Golang)是Google开发的一种静态类型语言,强调效率和简洁性。它的"Hello, World!"程序如下: ```go package main import "fmt" func main() { fmt.Println("Hello, World!") } ``` 6. **HTML5**: ...
本篇文章将探讨如何使用C#、C/C++、PHP、Python和Java这五种语言来实现这一功能,通过具体的代码示例来比较它们在处理大量文件删除时的效率。 首先,我们来看C#的实现。C#使用了.NET Framework提供的强大IO库,通过...
协程(Coroutines)是Swoole中的核心概念之一,它是一种用户态的轻量级线程,由程序自身控制,相比系统线程有更高的执行效率和更低的资源消耗。 在Swoole早期版本中,协程的调度基于IO事件的触发,也即所谓的“IO...
LoadModule logio_module modules/mod_logio.so LoadModule log_config_module modules/mod_log_config.so LogFormat "%h %l %u %{%Y-%m-%d-%H-%M-%S}t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{X-...
- 不同的存储结构会影响数据处理的效率,例如不同的数据访问方式和存储分配策略都会对性能产生影响。 ### 16. Java 主类的 main 方法 - **知识点**: Java 应用程序入口方法的返回类型。 - **详细解释**: - Java ...
<%@ page import="java.io.*, java.util.Date" %> ``` - `session`:设置当前页面是否使用HTTP会话,默认为`true`。 ```jsp ``` - `contentType`:定义响应内容类型和字符编码。 ```jsp ;charset=Gb2312" ...