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 相关文章推荐
模拟flock实现文件锁定
Feb 14 PHP
QueryPath PHP 中的jQuery
Apr 11 PHP
PHP 删除一个目录及目录下的所有文件的函数代码
May 26 PHP
php数据库抽象层 PDO
May 07 PHP
php中的ini配置原理详解
Oct 14 PHP
C# WinForm中实现快捷键自定义设置实例
Jan 23 PHP
php+html5实现无刷新图片上传教程
Jan 22 PHP
PHP编程 SSO详细介绍及简单实例
Jan 13 PHP
Laravel中日期时间处理包Carbon的简单使用
Sep 21 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
Jan 15 PHP
PHP以json或xml格式返回请求数据的方法
May 31 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
Feb 16 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
第九节--绑定
2006/11/16 PHP
分享一个php 的异常处理程序
2014/06/22 PHP
PHP中strcmp()和strcasecmp()函数字符串比较用法分析
2016/01/07 PHP
PHP搭建大文件切割分块上传功能示例
2017/01/04 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
2020/03/27 PHP
写的htc的数据表格
2007/01/20 Javascript
利用jquery操作select下拉列表框的代码
2010/06/04 Javascript
JS Replace()的高级使用方法介绍
2013/06/29 Javascript
js之事件冒泡和事件捕获详细介绍
2013/10/28 Javascript
jQuery 追加元素的方法如append、prepend、before
2014/01/16 Javascript
详解vue与后端数据交互(ajax):vue-resource
2017/03/16 Javascript
微信小程序实现带刻度尺滑块功能
2017/03/29 Javascript
Vue.2.0.5实现Class 与 Style 绑定的实例
2017/06/20 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
2017/07/24 Javascript
Nodejs实现的操作MongoDB数据库功能完整示例
2019/02/02 NodeJs
vue element-ui读取pdf文件的方法
2019/11/26 Javascript
[01:33]一分钟玩转DOTA2第三弹:DOTA2&DotA快捷操作大对比
2014/06/04 DOTA
Python中使用Counter进行字典创建以及key数量统计的方法
2018/07/06 Python
pandas取出重复数据的方法
2019/07/04 Python
Python列表解析操作实例总结
2020/02/26 Python
Python3 pickle对象串行化代码实例解析
2020/03/23 Python
Python虚拟环境库virtualenvwrapper安装及使用
2020/06/17 Python
基于python requests selenium爬取excel vba过程解析
2020/08/12 Python
Python操作dict时避免出现KeyError的几种解决方法
2020/09/20 Python
用HTML5.0制作网页的教程
2010/05/30 HTML / CSS
原生canvas制作画图小工具的踩坑和爬坑
2020/06/09 HTML / CSS
世界上最大的艺术和工艺用品商店:MisterArt.com
2018/07/13 全球购物
女孩每月服装订阅盒:kidpik
2019/04/17 全球购物
集世界奢侈品和设计师品牌的意大利精品买手店:Tessabit
2019/08/17 全球购物
解除劳动合同协议书(样本)
2014/10/02 职场文书
2015教师节师德演讲稿
2015/03/19 职场文书
交通事故被告答辩状
2015/05/22 职场文书
导游词之山西祁县乔家大院
2019/10/14 职场文书
浅谈react useEffect闭包的坑
2021/06/08 Javascript
微软团队与 NASA 科学家和惠普企业(HPE)的工程师合作
2022/04/21 数码科技
Redis特殊数据类型Geospatial地理空间
2022/06/01 Redis