ホームページ  >  記事  >  バックエンド開発  >  PHPデータのシリアル化例の紹介

PHPデータのシリアル化例の紹介

巴扎黑
巴扎黑オリジナル
2017-08-15 09:47:401328ブラウズ

この記事では、主にmsgpack、json、serializeの比較を紹介しており、PHPデータのシリアル化テスト例の詳細な説明を参照してください。

テストコード

$msg = ['test'=>23];
$start = microtime(true); 
for($i=0;$i<100000;$i++){
  $packMsg = msgpack_pack($msg);
}
echo &#39;pack len:&#39;.strlen($packMsg)."\r\n";
$end = microtime(true);
echo &#39;run time:&#39;.($end-$start).&#39;s&#39;."\r\n"; 
echo &#39;memory usage:&#39;.(memory_get_usage()/1024)."KB\r\n";
/*
$start = microtime(true); 
for($i=0;$i<100000;$i++){
  $jsonMsg = json_encode($msg);
}
echo &#39;json len:&#39;.strlen($jsonMsg)."\r\n";
$end = microtime(true); 
echo &#39;run time:&#39;.($end-$start).&#39;s&#39;."\r\n"; 
echo &#39;memory usage:&#39;.(memory_get_usage()/1024)."KB\r\n";

$start = microtime(true); 
for($i=0;$i<100000;$i++){
  $packMsg = serialize($msg);
}
echo &#39;php len:&#39;.strlen($packMsg)."\r\n";
$end = microtime(true);
echo &#39;run time:&#39;.($end-$start)."s\r\n";
echo &#39;memory usage:&#39;.(memory_get_usage()/1024)."KB\r\n";*/
実行結果


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より前のバージョンであると推定されます)

りー

php7で実行して結果は以下の通りです


运行速度 serialize<json<msgpack
长度  serialize>json>msgpack
内存消耗 serialize<json<msgpack //不过近乎一致

以上がPHPデータのシリアル化例の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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