当前位置:首页 > PHP教程 > PHP常见问题

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

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

测试代码

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

执行结果

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



【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!