当前位置: 移动技术网 > IT编程>开发语言>PHP > php数据序列化测试实例详解

php数据序列化测试实例详解

2017年08月16日  | 移动技术网IT编程  | 我要评论

php数据序列化测试实例详解

测试代码

$msg = ['test'=>23];
$start = microtime(true); 
for($i=0;$i<100000;$i++){
  $packmsg = msgpack_pack($msg);
}
echo 'pack len:'.strlen($packmsg)."\r\n";
$end = microtime(true);
echo 'run time:'.($end-$start).'s'."\r\n"; 
echo 'memory usage:'.(memory_get_usage()/1024)."kb\r\n";
/*
$start = microtime(true); 
for($i=0;$i<100000;$i++){
  $jsonmsg = json_encode($msg);
}
echo 'json len:'.strlen($jsonmsg)."\r\n";
$end = microtime(true); 
echo 'run time:'.($end-$start).'s'."\r\n"; 
echo 'memory usage:'.(memory_get_usage()/1024)."kb\r\n";

$start = microtime(true); 
for($i=0;$i<100000;$i++){
  $packmsg = serialize($msg);
}
echo 'php len:'.strlen($packmsg)."\r\n";
$end = microtime(true);
echo 'run time:'.($end-$start)."s\r\n";
echo 'memory usage:'.(memory_get_usage()/1024)."kb\r\n";*/

执行结果

pack len:7
run time:0.024219989776611s
memory usage:354.4765625kb
json len:11
run time:0.010890007019043s
memory usage:354.1796875kb
php len:22
run time:0.010586977005005s
memory usage:353.8828125kb

分析评论

网上查阅的基本结果都是(估计是php7以前的版本)

运行速度 serialize<json<msgpack
长度  serialize>json>msgpack
内存消耗 serialize<json<msgpack //不过近乎一致

在php7里运行,得出的结果如下

运行速度 serialize<msgpack<json  //这里出现了变化
长度  serialize>json>msgpack
内存消耗 serialize<json<msgpack //不过近乎一致

以上就是php数据序列化测试的讲解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网