php数据序列化测试实例详解
author:一佰互联 2019-04-26   click:172

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

测试代码

$msg = ["test"=>23];$start = microtime(true); for($i=0;$i<100000;$i++){  $packMsg = msgpack_pack($msg);}echo "pack len:".strlen($packMsg)."";$end = microtime(true);echo "run time:".($end-$start)."s".""; echo "memory usage:".(memory_get_usage()/1024)."KB";/*$start = microtime(true); for($i=0;$i<100000;$i++){  $jsonMsg = json_encode($msg);}echo "json len:".strlen($jsonMsg)."";$end = microtime(true); echo "run time:".($end-$start)."s".""; echo "memory usage:".(memory_get_usage()/1024)."KB";$start = microtime(true); for($i=0;$i<100000;$i++){  $packMsg = serialize($msg);}echo "php len:".strlen($packMsg)."";$end = microtime(true);echo "run time:".($end-$start)."s";echo "memory usage:".(memory_get_usage()/1024)."KB";*/

执行结果

pack len:7run time:0.024219989776611smemory usage:354.4765625KBjson len:11run time:0.010890007019043smemory usage:354.1796875KBphp len:22run time:0.010586977005005smemory usage:353.8828125KB

分析评论

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

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

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

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

以上就是php数据序列化测试的讲解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!