当前位置:Gxlcms > PHP教程 > php数据的序列化实例介绍

php数据的序列化实例介绍

时间:2021-07-01 10:21:17 帮助过:22人阅读

这篇文章主要介绍了php数据序列化测试实例详解的相关资料,主要介绍msgpack、json、serialize对比,需要的朋友可以参考下

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

测试代码


  1. $msg = ['test'=>23];
  2. $start = microtime(true);
  3. for($i=0;$i<100000;$i++){
  4. $packMsg = msgpack_pack($msg);
  5. }
  6. echo 'pack len:'.strlen($packMsg)."\r\n";
  7. $end = microtime(true);
  8. echo 'run time:'.($end-$start).'s'."\r\n";
  9. echo 'memory usage:'.(memory_get_usage()/1024)."KB\r\n";
  10. /*
  11. $start = microtime(true);
  12. for($i=0;$i<100000;$i++){
  13. $jsonMsg = json_encode($msg);
  14. }
  15. echo 'json len:'.strlen($jsonMsg)."\r\n";
  16. $end = microtime(true);
  17. echo 'run time:'.($end-$start).'s'."\r\n";
  18. echo 'memory usage:'.(memory_get_usage()/1024)."KB\r\n";
  19. $start = microtime(true);
  20. for($i=0;$i<100000;$i++){
  21. $packMsg = serialize($msg);
  22. }
  23. echo 'php len:'.strlen($packMsg)."\r\n";
  24. $end = microtime(true);
  25. echo 'run time:'.($end-$start)."s\r\n";
  26. echo 'memory usage:'.(memory_get_usage()/1024)."KB\r\n";*/

执行结果


  1. pack len:7
  2. run time:0.024219989776611s
  3. memory usage:354.4765625KB
  4. json len:11
  5. run time:0.010890007019043s
  6. memory usage:354.1796875KB
  7. php len:22
  8. run time:0.010586977005005s
  9. memory usage:353.8828125KB

分析评论

网上查阅的基本结果都是(估计是php7以前的版本)


  1. 运行速度 serialize<json<msgpack
  2. 长度 serialize>json>msgpack
  3. 内存消耗 serialize<json<msgpack //不过近乎一致

在php7里运行,得出的结果如下


  1. 运行速度 serialize<msgpack<json //这里出现了变化
  2. 长度 serialize>json>msgpack
  3. 内存消耗 serialize<json<msgpack //不过近乎一致

以上就是php数据的序列化实例介绍的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行