ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルでの json_encode、json_decode、シリアライズ、およびアンシリアライズのパフォーマンス テスト分析

PHP_PHP チュートリアルでの json_encode、json_decode、シリアライズ、およびアンシリアライズのパフォーマンス テスト分析

WBOY
WBOYオリジナル
2016-07-21 15:37:13922ブラウズ

そこで、最もコスト効率の高い方法で PHP でオブジェクトをシリアル化して保存する方法を考えました。そこで、以前の同僚が推奨していた JSON エンコードおよびデコード関数を思い出しました。
彼によると、json_encode と json_decode は組み込みのシリアライズ関数とアンシリアライズ関数よりも効率的です。
そこで、同僚の言ったことが真実かどうかを確認するために実験を行うことにしました。
実験はそれぞれPHP 5.2.13とPHP 5.3.2環境で実施されました。
同じ変数を使用して、上記の方法でエンコードまたはデコードを 10,000 回実行し、各関数を 10,000 回実行するのに必要な時間を取得します。
以下は PHP 5.2.13 環境でのテスト結果の 1 つです:

コードをコピーします コードは次のとおりです:

json : 190
serialize : 257
json_encode : 2041
json_de コード: 0.18004894256592
serialize: 0.063642024993896
unserialize: 0.086990833282471
DONE

以下は、PHP 5.3.2 環境でのテストの 1 つの結果です。
コードをコピーします コードは次のとおりです:
json : 190
シリアル化 : 257
json_encode : 0.0628058 91036987
json_decode : 0.14239192008972
シリアル化 : 0.048481941223145 ize : 0.05927300453186
完了


この実験の結論は次のとおりです:
json_encode と json_decode の効率はそれより高くありません。デシリアライズ時とアンシリアライズ時では約2倍のパフォーマンス差があり、PHP 5.3の実行効率はPHP 5.2に比べて若干向上しています。
以下はテストに使用したコードです:


コードをコピーします コードは次のとおりです:
$target = array (
'name' => 'All-roundヘルメット'、
'品質' => '青'、
'is_bind' => 1、
'デマンド条件' => 1 、
)、
'quality_attr_sign' =>array (
'HeroStrength' => 8、
'HeroAgility' => 8、
'HeroIntelligence' => 8、
)、
$json); = json_encode($target) ;
$seri = シリアル化($target);
echo "json :tt" . "rn" :t" rnrn";
$stime = microtime(true);
for ($i = 0; $i {
json_encode($target);
}
$etime = microtime(true) ;
echo "json_encode: t" . "rn"; ------ --
$stime = microtime(true);
for ($i = 0; $i {
json_decode($json)
}
$etime = microtime(true);
echo "json_decode :t" . "rnrn"; ----- -------
$stime = microtime(true);
for ($i = 0; $i {
serialize($target);
$etime = microtime(true);
echo "シリアル化:t" . "rn"; ----- ------------
$stime = microtime(true);
for ($i = 0; $i {
unserialize( $seri);
$etime(true);
echo 'DONE.';



http://www.bkjia.com/PHPjc/321975.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/321975.html

技術記事

そこで、最もコスト効率の高い方法で PHP でオブジェクトをシリアル化して保存する方法を考えました。そこで、以前の同僚が推奨していた JSON エンコードおよびデコード関数を思い出しました。 彼によると、json_encode と json_deco...

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。