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


Posted in PHP onAugust 12, 2017

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数据序列化测试的讲解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 相关文章推荐
基于pear auth实现登录验证
Feb 26 PHP
php下将多个数组合并成一个数组的方法与实例代码
Feb 03 PHP
php设计模式 Proxy (代理模式)
Jun 26 PHP
PHP更新购物车数量(表单部分/PHP处理部分)
May 03 PHP
如何在Ubuntu下启动Apache的Rewrite功能
Jul 05 PHP
教你如何用php实现LOL数据远程获取
Jun 10 PHP
php集成环境xampp中apache无法启动问题解决方案
Nov 18 PHP
Yii使用smsto短信接口的函数demo示例
Jul 13 PHP
删除PHP数组中头部、尾部、任意元素的实现代码
Apr 10 PHP
PHP调用接口用post方法传送json数据的实例
May 31 PHP
PHP get_html_translation_table()函数用法讲解
Feb 16 PHP
PHP dirname(__FILE__)原理及用法解析
Oct 28 PHP
PHP新特性之字节码缓存和内置服务器
Aug 11 #PHP
PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
Aug 11 #PHP
如何修改Laravel中url()函数生成URL的根地址
Aug 11 #PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
Aug 11 #PHP
基于Laravel5.4实现多字段登录功能方法示例
Aug 11 #PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
Aug 11 #PHP
关于PHP中协程和阻塞的一些理解与思考
Aug 11 #PHP
You might like
php中计算时间差的几种方法
2009/12/31 PHP
Yii实现多数据库主从读写分离的方法
2014/12/29 PHP
在WordPress中使用PHP脚本来判断访客来自什么国家
2015/12/10 PHP
PHP排序二叉树基本功能实现方法示例
2018/05/26 PHP
js实现右下角提示框的方法
2015/02/03 Javascript
JavaScript中用toString()方法返回时间为字符串
2015/06/12 Javascript
JavaScript实现跨浏览器的添加及删除事件绑定函数实例
2015/08/04 Javascript
轻松理解JavaScript闭包
2017/03/14 Javascript
如何解决React官方脚手架不支持Less的问题(小结)
2018/09/12 Javascript
浅谈JavaScript 代码整洁之道
2018/10/23 Javascript
微信小程序在其他页面监听globalData中值的变化
2019/07/15 Javascript
JQuery中的常用事件、对象属性与使用方法分析
2019/12/23 jQuery
JavaScript缺少insertAfter解决方案
2020/07/03 Javascript
详解JavaScript之ES5的继承
2020/07/08 Javascript
Vue proxyTable配置多个接口地址,解决跨域的问题
2020/09/11 Javascript
Nuxt.js 静态资源和打包的操作
2020/11/06 Javascript
[53:23]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
跟老齐学Python之print详解
2014/09/28 Python
Python中解析JSON并同时进行自定义编码处理实例
2015/02/08 Python
python实现的简单猜数字游戏
2015/04/04 Python
python结合opencv实现人脸检测与跟踪
2015/06/08 Python
Python基于二分查找实现求整数平方根的方法
2016/05/12 Python
Python读取word文本操作详解
2018/01/22 Python
Python logging模块用法示例
2018/08/28 Python
python3射线法判断点是否在多边形内
2019/06/28 Python
Html5大文件断点续传实现方法
2015/12/05 HTML / CSS
HTML实现代码雨源码及效果示例
2020/02/25 HTML / CSS
NBA欧洲商店(法国):NBA Europe Store FR
2016/10/19 全球购物
写一个方法1000的阶乘
2012/11/21 面试题
毕业生就业自荐书
2013/12/15 职场文书
分居协议书范本
2014/11/03 职场文书
2014年出纳工作总结与计划
2014/12/09 职场文书
餐厅服务员管理制度
2015/08/05 职场文书
python实现三阶魔方还原的示例代码
2021/04/28 Python
OpenCV实现常见的四种图像几何变换
2022/04/01 Python
SpringBoot接入钉钉自定义机器人预警通知
2022/07/15 Java/Android