由于需要把一个数组存进数据库,所以考虑使用转化成字符串方法,方法基本上有两种既serialize和json_encode。 两种方法各有利弊,于是乎就对这俩讨方法做了下测试。 serialize、unserialize与json_encode、json_decode比较 s是指序列化,即serialize、unserialize j是json 源代码:
<?php
array("I'm a gooPHP 是免费的,并且使用非常广泛。同时,对于像微软 ASP 这样的竞争者来说,PHP 无疑是另一种高效率的选项。PHP 极其适合网站开发,其代码可以直接嵌入 HTML 代码.",
"I'm a good boy.",
"a" => "PHP 是免费的,并且使用非常广泛。同时,对于像微软 ASP 这样的竞争者来说,PHP 无疑是另一种高效率的选项。PHP 极其适合网站开发,其代码可以直接嵌入 HTML 代码",
2 =>"PHP 是免费的,并且使用非常广泛。同时,对于像微软 ASP 这样的竞争者来说,PHP 无疑是另一种高效率的选项。PHP 极其适合网站开发,其代码可以直接嵌入 HTML 代码",
'PHP 是免费的,并且使用非常广泛。同时,对于像微软 ASP 这样的竞争者来说,PHP 无疑是另一种高效率的选项。PHP 极其适合网站开发,其代码可以直接嵌入 HTML 代码',
"I'm a good boy.",
"I'm a good boy.",
"I'm a good boy.",
"I'm a good boy.",
"I'm a good",
"asdfnsadofhasd");
?>
1、压缩与反压缩为一圈 s:1圈用时=>4.4822692871094E-5 j:1圈用时=>9.8943710327148E-5 s-j差值:-5.4121017456055E-5 s:10圈用时=>9.608268737793E-5 j:10圈用时=>0.00071501731872559 s-j差值:-0.00061893463134766 s:100圈用时=>0.00088191032409668 j:100圈用时=>0.0079631805419922 s-j差值:-0.0070812702178955 s:1000圈用时=>0.0086770057678223 j:1000圈用时=>0.071093082427979 s-j差值:-0.062416076660156 s:10000圈用时=>0.089351177215576 j:10000圈用时=>0.71031618118286 s-j差值:-0.62096500396729 s:100000圈用时=>0.89754796028137 j:100000圈用时=>7.0866401195526 s-j差值:-6.1890921592712 s:1000000圈用时=>8.7691621780396 j:1000000圈用时=>70.856695890427 s-j差值:-62.087533712387 s:10000000圈用时=>87.145391941071 2、仅反串行化或json_decode s:1圈用时=>2.598762512207E-5 j:1圈用时=>8.2015991210938E-5 s-j差值:-5.6028366088867E-5 s:10圈用时=>4.4107437133789E-5 j:10圈用时=>0.00051689147949219 s-j差值:-0.0004727840423584 s:100圈用时=>0.00037717819213867 j:100圈用时=>0.0050899982452393 s-j差值:-0.0047128200531006 s:1000圈用时=>0.0039620399475098 j:1000圈用时=>0.052362203598022 s-j差值:-0.048400163650513 s:10000圈用时=>0.038861989974976 j:10000圈用时=>0.51281499862671 s-j差值:-0.47395300865173 s:100000圈用时=>0.38436698913574 j:100000圈用时=>5.1456820964813 s-j差值:-4.7613151073456 s:1000000圈用时=>3.8943638801575 j:1000000圈用时=>52.551742076874 s-j差值:-48.657378196716 从上面的测试可以看出序列化比JSON效率更高,先压缩后解压时s比j快9倍左右,如果只有解压缩,s比j快15倍
|
请发表评论