php数据序列化测试实例详解
测试代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
$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";*/ |
执行结果
1
2
3
4
5
6
7
8
9
|
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以前的版本)
1
2
3
|
运行速度 serialize<json<msgpack 长度 serialize>json>msgpack 内存消耗 serialize<json<msgpack //不过近乎一致 |
在php7里运行,得出的结果如下
1
2
3
|
运行速度 serialize<msgpack<json //这里出现了变化 长度 serialize>json>msgpack 内存消耗 serialize<json<msgpack //不过近乎一致 |
以上就是php数据序列化测试的讲解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:https://my.oschina.net/lwl1989/blog/850408