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: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數據序列化測試的講解,如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答
圖片精選