php数据序列化测试实例详解
更新时间:2017年08月12日 14:07:41 投稿:lqh
这篇文章主要介绍了php数据序列化测试实例详解的相关资料,主要介绍msgpack、json、serialize对比,需要的朋友可以参考下
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数据序列化测试的讲解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
您可能感兴趣的文章:
相关文章
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
这篇文章主要介绍了ThinkPHP结合ajax、Mysql实现的客户端通信功能,需要的朋友可以参考下2014-06-06
Laravel学习教程之request validation的编写
这篇文章主要给大家介绍了关于Laravel学习教程之request validation编写的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。2017-10-10
详解php中的password_verify 和 password_hash密码验证
验证密码是否和指定的散列值匹配,password_verify() 与 crypt() 兼容,因此,由 crypt() 创建的密码散列可以用于 password_verify() 一起使用,这篇文章主要介绍了php的password_verify 和 password_hash密码验证,需要的朋友可以参考下2023-08-08


最新评论