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

相关文章

  • 关于PHP递归算法和应用方法介绍

    关于PHP递归算法和应用方法介绍

    PHP作为开发动态页面WEB的首选技术,对于它的基础知识我们一定要牢记,这让才能有助于编程。我们一起来看看PHP递归算法是怎么回事吧
    2013-04-04
  • 微信公众平台天气预报功能开发

    微信公众平台天气预报功能开发

    前一段开始做一个学校的微信应用,里面添加了各种功能。天气预报是必不可少的一部分。
    2014-07-07
  • Laravel框架实现的记录SQL日志功能示例

    Laravel框架实现的记录SQL日志功能示例

    这篇文章主要介绍了Laravel框架实现的记录SQL日志功能,结合实例形式总结分析了Laravel框架监听并记录SQL相关操作技巧与注意事项,需要的朋友可以参考下
    2018-06-06
  • ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例

    ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例

    这篇文章主要介绍了ThinkPHP结合ajax、Mysql实现的客户端通信功能,需要的朋友可以参考下
    2014-06-06
  • Yii框架防止sql注入,xss攻击与csrf攻击的方法

    Yii框架防止sql注入,xss攻击与csrf攻击的方法

    这篇文章主要介绍了Yii框架防止sql注入,xss攻击与csrf攻击的方法,结合实例形式分析了Yii框架针对sql注入,xss攻击与csrf攻击的防范方法与相关函数调用注意事项,需要的朋友可以参考下
    2016-10-10
  • PHP实现数组向任意位置插入,删除,替换数据操作示例

    PHP实现数组向任意位置插入,删除,替换数据操作示例

    这篇文章主要介绍了PHP实现数组向任意位置插入,删除,替换数据操作,结合实例形式分析了php中array_splice函数具体功能、参数及数组的插入、删除、数值替换等相关操作技巧,需要的朋友可以参考下
    2019-04-04
  • Laravel学习教程之request validation的编写

    Laravel学习教程之request validation的编写

    这篇文章主要给大家介绍了关于Laravel学习教程之request validation编写的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-10-10
  • laravel使用数据库测试注意事项

    laravel使用数据库测试注意事项

    这篇文章主要介绍了laravel使用数据库测试注意事项,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • laravel 实现阿里云oss文件上传功能的示例

    laravel 实现阿里云oss文件上传功能的示例

    这篇文章主要介绍了laravel 实现阿里云oss文件上传功能,本文通过示例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • 详解php中的password_verify 和 password_hash密码验证

    详解php中的password_verify 和 password_hash密码验证

    验证密码是否和指定的散列值匹配,password_verify() 与 crypt() 兼容,因此,由 crypt() 创建的密码散列可以用于 password_verify() 一起使用,这篇文章主要介绍了php的password_verify 和 password_hash密码验证,需要的朋友可以参考下
    2023-08-08

最新评论