PHP文件缓存效率测试
来源:互联网 发布:澳洲留学读研一年费用知多少 编辑:程序博客网 时间:2024/05/16 19:13
PHP文件缓存内容保存格式主要有三种:
1.变量 var_export 格式化成PHP正常的赋值书写格式,用的时候直接include文件
2.变量 serialize 序列化之后保存,用的时候反序列化
3,变量 json_encode格式化之后保存,用的时候json_decode
一直以来,我都以为第一种效率最高,因为那是PHP脚本解释器解析PHP脚本的格式,原生的,应该最快,至少读取缓存的效率应该是最高的,可是今天做了个测试,令我大跌眼镜!原来 serialize序列化效率才是最高的,不论是读还是写!
include写:0.559882879257
include读:0.185745000839
serialize写:0.255033969879
serialize读:0.0853068828583
json写:0.284864902496
json读:0.145938873291
序列化是最快,无论读或写,都是第一种的效率的两倍,json比序列化效率稍低,表现还可以!
如果撇开文件读写所耗费的时间,他们的效率差别可能会更大!
include那个,虽然是PHP脚本赋值的格式,但是也是要分析解析文本,PHP脚本解释器需要动用整个解释器分析PHP脚本,而序列化不需要,只用启用序列化文本分析就行了,所以效率更高。
1.变量 var_export 格式化成PHP正常的赋值书写格式,用的时候直接include文件
2.变量 serialize 序列化之后保存,用的时候反序列化
3,变量 json_encode格式化之后保存,用的时候json_decode
一直以来,我都以为第一种效率最高,因为那是PHP脚本解释器解析PHP脚本的格式,原生的,应该最快,至少读取缓存的效率应该是最高的,可是今天做了个测试,令我大跌眼镜!原来 serialize序列化效率才是最高的,不论是读还是写!
下面是用来测试的PHP代码:
01
$st
= microtime(1);
02
for
(
$i
=0;
$i
<1000;
$i
++){
03
/* http://yige.org/php/
04
$file = var_export($_SERVER,1);
05
$file = "";
06
file_put_contents("data/in.php",$file);
07
*/
08
include
(
"data/in.php"
);
09
}
10
echo
"include读:"
.(microtime(1)-
$st
).
" "
;
11
12
$st
= microtime(1);
13
for
(
$i
=0;
$i
<1000;
$i
++){
14
$file
=
file_put_contents
(
"data/se.php"
,serialize(
$_SERVER
));
15
//$file = file_get_contents("data/se.php");
16
//$file = unserialize($file);
17
}
18
echo
"serialize写:"
.(microtime(1)-
$st
).
" "
;
19
$st
= microtime(1);
20
for
(
$i
=0;
$i
<1000;
$i
++){
21
//$file = file_put_contents("data/se.php",serialize($_SERVER));
22
$file
=
file_get_contents
(
"data/se.php"
);
23
$file
= unserialize(
$file
);
24
}
25
echo
"serialize读:"
.(microtime(1)-
$st
).
" "
;
26
27
$st
= microtime(1);
28
for
(
$i
=0;
$i
<1000;
$i
++){
29
$file
=
file_put_contents
(
"data/js.php"
,json_encode(
$_SERVER
));
30
//$file = file_get_contents("data/js.php");
31
//$file = json_decode($file);
32
}
33
echo
"json写:"
.(microtime(1)-
$st
).
" "
;
34
$st
= microtime(1);
35
for
(
$i
=0;
$i
<1000;
$i
++){
36
//$file = file_put_contents("data/js.php",json_encode($_SERVER));
37
$file
=
file_get_contents
(
"data/js.php"
);
38
$file
= json_decode(
$file
);
39
}
40
echo
"json读:"
.(microtime(1)-
$st
).
" "
;
include读:0.185745000839
serialize写:0.255033969879
serialize读:0.0853068828583
json写:0.284864902496
json读:0.145938873291
序列化是最快,无论读或写,都是第一种的效率的两倍,json比序列化效率稍低,表现还可以!
如果撇开文件读写所耗费的时间,他们的效率差别可能会更大!
include那个,虽然是PHP脚本赋值的格式,但是也是要分析解析文本,PHP脚本解释器需要动用整个解释器分析PHP脚本,而序列化不需要,只用启用序列化文本分析就行了,所以效率更高。
- PHP文件缓存效率测试
- PHP文件缓存效率测试
- PHP文件缓存效率测试(一)
- 对比2种原生php文件缓存的效率
- 讲解PHP文件缓存的性能测试
- PHP文件缓存的性能测试
- php代码效率测试
- php代码效率测试
- php代码效率测试
- PHP封装类效率测试
- PHP文件缓存的性能测试(二)
- PHP缓存之文件缓存
- 初识PHP文件缓存
- 谈PHP文件缓存
- php文件缓存数据
- php文件缓存
- PHP文件缓存secache
- php 文件缓存
- fuzzy logic模糊计算的原理
- 一种简单的自定义Progress
- 我的php程序设计按键错误
- SSH项目构造过程
- day15TreeSet,二叉树原理,比较器,泛型,自定义泛型
- PHP文件缓存效率测试
- java一些最基础的知识,不知道去查…
- Oracle的一些简单入门
- openstack实践
- SSH自动登录
- 为天地立心,为生民立命, 为…
- Oracle的问题
- 云计算资料
- 数据库设计杂谈