php序列化 与json_PHP中serializen()与json_encode()的性能差异
结论
serializen的效率远高于json,特别是在反序列化方面。
实地测试
对同一个巨大数组分别进行10000次序列化和反序列化,得到如下测试结果:测试环境
CPU: Intel i5-3317U
PHP: 7.0.12
SRV: Apache 2json_encode 2.7458431720734 s
json_decode 7.1210720539093 s
serialize 1.899829864502 s
unserialize 0.033617973327637 s
测试代码<?php
$de=[
"ok"=>23421344234,
"d3"=>['32af','23rdsf','fa3fawe','r23dsds'],
'asdfasfd'=>['sadfasdf','asdfdsf'=>'asdfa爱的色放撒地方发生但凡sfdsdfsfa','asdfsadf'=>['asdfasdf',234234234,'asdfsdaf']],
'asdfasfd1'=>['sadfa安抚仨人货币补偿现在vcxzvcxzsdf','asg发多少了空间dfdsf'=>'asdfasfdsdfsfa','asdf爱居兔肉色很尴尬人个人sadf'=>['asdfasdf',234234234,'asdfsdaf']],
'asdfasfd2'=>['sadfasdf','asdfdsf'=>'asdfasfds阿斯顿发生dfsfa','asdfsadf'=>['asdfasdf',234234234,'asdfsdaf']],
'asdfasfd3'=>['sadf爱迪生范德萨发放第三asdf','asdfdsf'=>'asdfasfd阿萨德发的顺丰sdfsfa','asdfsadf'=>['asdfasdf',234234234,'asdfsdaf']],
'asdfasfd4'=>['sadfasdf','asdfdsf'=>'asdfasfdsd阿什顿发发生的fsfa','asdfsadf'=>['asdfasdf',234234234,'asdfsdaf']],
'asdfahgewrasfd'=>['sadfasdf','asdfdsf'=>'asdfa阿什顿发斯蒂芬sfdsdfsfa','asdfsadf'=>['asdfasdf',234234234,'asdfsdaf']],
'asdffsadasfd'=>['sadfasdf','asdfdsf'=>'asdfasfdsdfsfa','asdfsadf'=>['asdfasdf',234234234,'asdfsdaf']],
'asdaefdssfasfd'=>['sadfasdf','asdf阿斯顿发发生的dsf'=>'asdfasfdsdfsfa','asdfsadf'=>['asdfasdf',234234234,'asdfsdaf']],
'asdfa阿斯顿发发呆爽肤水对方43wefrasfd'=>['sadfasdf','asdfdsf'=>'asdfasfdsdfsfa','asdfsadf'=>['asdfasdf',234234234,'as阿斯蒂芬范德萨范德萨dfsdaf']],
'asdfaasdfsfd'=>['sadfasdf','asdfdsf'=>'asdfasfdsdfsfa','asdfsadf'=>['asdfasdf',234234234,'asdfsdaf']],
'afasdfsdfasfd'=>['sadfasdf','asdfdsf'=>'asdfas阿斯顿发发生的分fdsdfsfa','as爱的色放范德萨dfsadf'=>['asdfasdf',234234234,'asdfsdaf']],
'asdfas阿什顿发斯蒂芬法第三asdfsdffd'=>['sadfasdf','asdfdsf'=>'asdfasfdsdfsfa','asdfsadf'=>['asdfasdf',234234234,'asdfsdaf']],
array (
'battle_id'=> 257
,'user_id'=> 41248
,'user阿什顿发斯蒂芬多撒_id2'=> 23989
,'player'=> 41248
,'formation'=> Array
(
'41248'=> 1
,'23989'=> 2
)
,'result'=> 1
,'battle_type'=> 1
,'speed'=> Array
(
'41248'=> 0
,'23989'=> 0
)
)
];
$de=[
$de,
$de,
$de,
$de,
$de,
$de,
$de,
$de,
$de,
$de,
$de,
$de,
$de,
$de,
$de,
$de,
$de,
];
$stime = microtime(true);
for ($i = 0; $i < 10000; $i ++) {
$en=json_encode($de);
}
$etime = microtime(true);
echo "json_encode :", ($etime - $stime) ,'
';
$stime = microtime(true);
for ($i = 0; $i < 10000; $i ++) {
$de=json_decode($en);
}
$etime = microtime(true);
echo "json_decode :", ($etime - $stime) ,'
';
$stime = microtime(true);
for ($i = 0; $i < 10000; $i ++) {
$en=serialize($de);
}
$etime = microtime(true);
echo "serialize :", ($etime - $stime) ,'
';
$stime = microtime(true);
for ($i = 0; $i < 10000; $i ++) {
$de=serialize($en);
}
$etime = microtime(true);
echo "unserialize :", ($etime - $stime) ,'
';
php序列化 与json_PHP中serializen()与json_encode()的性能差异相关推荐
- java对象序列化去掉字段_使用序列化查找对象中的脏字段
java对象序列化去掉字段 假设您正在开发一个将对象自动保存到数据库中的框架. 您需要检测两次保存之间所做的更改,以便仅保存已修改的字段. 如何检测脏场. 最简单的方法是遍历原始数据和当前数据,并分别 ...
- 使用序列化查找对象中的脏字段
假设您正在开发一个将对象自动保存到数据库中的框架. 您需要检测两次保存之间所做的更改,以便仅保存修改过的字段. 如何检测脏场. 最简单的方法是遍历原始数据和当前数据,并分别比较每个字段. 代码如下: ...
- php中json_decode()和json_encode()的使用方法
php中json_decode()和json_encode()的使用方法 json_decode对JSON格式的字符串进行编码而json_encode对变量进行 JSON 编码,需要的朋友可以参考下 ...
- 最长公共子序列_使用序列化查找对象中的脏字段
最长公共子序列 假设您正在开发一个将对象自动保存到数据库中的框架. 您需要检测两次保存之间所做的更改,以便仅保存修改的字段. 如何检测脏场. 最简单的方法是遍历原始数据和当前数据,并分别比较每个字段. ...
- 四因素三水平正交试验表_机制砂中不同因素对混凝土性能影响研究
作为连接胶凝材料和粗骨料的媒介,砂的掺入对混凝土强度.耐久性等起着至关重要的作用.利用机制砂替代河砂配制混凝土,石粉含量.泥含量以及砂率的选择是当前面临的主要问题,机制砂石粉含量一般10%-20%,我 ...
- 【Android 安装包优化】WebP 图片格式兼容与性能 ( Android 中的 WebP 图片格式兼容问题 | Android 中的 WebP 图片格式性能 )
文章目录 一.Android 中的 WebP 图片格式兼容问题 二.Android 中的 WebP 图片格式性能 三.参考资料 一.Android 中的 WebP 图片格式兼容问题 在 Android ...
- 浅谈jQuery中 wrap() wrapAll() 与 wrapInner()的差异
本文结合W3School的文档,分析了jQuery中 wrap() wrapAll() 与 wrapInner()的差异,并给出了图文对比教程,非常的简单实用,有需要的朋友可以参考下 今晚看书的时候发 ...
- C# 中的 in 参数和性能分析
in 修饰符也是从 C# 7.2 开始引入的,它与我们上一篇中讨论的 <C# 中的只读结构体(readonly struct)>[1] 是紧密相关的. in 修饰符 in 修饰符通过引用传 ...
- Java 中的5个代码性能提升技巧,最高提升近10倍
这篇文章介绍几个 Java 开发中可以进行性能优化的小技巧,虽然大多数情况下极致优化代码是没有必要的,但是作为一名技术开发者,我们还是想追求代码的更小.更快,更强.如果哪天你发现程序的运行速度不尽人意 ...
- 了解JavaScript中的Memoization以提高性能,再看React的应用
英文: Understanding Memoization in JavaScript to Improve Performance 中文: 了解JavaScript中的Memoization以提高性 ...
最新文章
- 树莓派-格式化硬盘(U盘)为ext4格式并挂载
- Entity Framework中的Migrations
- 温州大学《深度学习》课程课件(一)
- 知识图谱还有哪些方向值得深入研究?这 6 篇最新论文给你答案
- python 判断类是否存在某个属性或方法
- 解决“DNS_PROBE_FINISHED_NXDOMAIN”问题
- [BZOJ4484][JSOI2015]最小表示(拓扑排序+bitset)
- U-Net源码上实现自己数据集的分割任务
- 散落在香山的红绳情结
- 微信小程序实现路线规划demo
- Android性能优化——启动优化简述
- Could not enlist in transaction on entering meta-aware object
- 教师公开课卡通动态通用PPT模板
- CSDN最全数学公式
- PHP 优秀资源汇集(转)
- 【论文学习】干旱指标相关
- 极线几何[Epipolar Geometry]
- linux解封ip,linux iptables禁IP与解封IP常用命令
- html 怎么显示co2字体,检测空气中二氧化碳含量的三种方法
- 来认识一下这些基于好友关系链和算法推荐的电影发现产品