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 相关文章推荐
php-accelerator网站加速PHP缓冲的方法
Jul 30 PHP
DISCUZ 论坛管理员密码忘记的解决方法
May 14 PHP
程序员编程十条戒律
Jul 09 PHP
解析PHP可变函数的经典用法
Jun 20 PHP
使用Discuz关键词服务器实现PHP中文分词
Mar 11 PHP
zf框架的session会话周期及次数限制使用示例
Mar 13 PHP
php中simplexml_load_file函数用法实例
Nov 12 PHP
PHP实现动态柱状图改进版
Mar 30 PHP
PHP使用Pthread实现的多线程操作实例
Nov 14 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
Dec 21 PHP
PHP中单例模式与工厂模式详解
Feb 17 PHP
PHP命令行与定时任务
Apr 01 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
PHPMailer 中文使用说明小结
2010/01/22 PHP
一个基于PDO的数据库操作类
2011/03/24 PHP
Nigma vs Alliance BO5 第五场2.14
2021/03/10 DOTA
javascript仿php的print_r函数输出json数据
2013/09/13 Javascript
juery框架写的弹窗效果适合新手
2013/11/27 Javascript
JS实现鼠标单击与双击事件共存
2014/03/08 Javascript
jquery用data方法获取某个元素上的事件
2014/06/23 Javascript
jQuery中html()方法用法实例
2014/12/25 Javascript
JS使用cookie实现DIV提示框只显示一次的方法
2015/11/05 Javascript
在JavaScript中使用JSON数据
2016/02/15 Javascript
谈谈jQuery之Deferred源码剖析
2016/12/19 Javascript
Node.js的特点详解
2017/02/03 Javascript
javaScript嗅探执行神器-sniffer.js
2017/02/14 Javascript
JS数组操作之增删改查的简单实现
2017/08/21 Javascript
Koa2微信公众号开发之消息管理
2018/05/16 Javascript
小程序视频列表中视频的播放与停止的示例代码
2018/07/20 Javascript
小程序指纹验证的实现代码
2018/12/04 Javascript
微信小程序实现商城倒计时
2020/11/01 Javascript
用vue 实现手机触屏滑动功能
2020/05/28 Javascript
原生JS实现记忆翻牌游戏
2020/07/31 Javascript
Python虚拟环境virtualenv的安装与使用详解
2017/05/28 Python
机器学习经典算法-logistic回归代码详解
2017/12/22 Python
Django处理多用户类型的方法介绍
2019/05/18 Python
JAVA SWT事件四种写法实例解析
2020/06/05 Python
python基于selenium爬取斗鱼弹幕
2021/02/20 Python
英国复古皮包品牌:Beara Beara
2018/07/18 全球购物
物流业务员岗位职责
2014/02/08 职场文书
行政副总岗位职责
2014/02/23 职场文书
党员先锋岗事迹材料
2014/05/08 职场文书
代理人委托书
2014/08/01 职场文书
合作协议书范本
2014/10/25 职场文书
综合素质评价个性发展自我评价
2015/03/06 职场文书
领导干部失职检讨书
2015/05/05 职场文书
2016年百日安全生产活动总结
2016/04/06 职场文书
maven依赖的version声明控制方式
2022/01/18 Java/Android
python index() 与 rindex() 方法的使用示例详解
2022/12/24 Python