ホームページ  >  記事  >  バックエンド開発  >  PHPデータのシリアル化テストの詳細説明

PHPデータのシリアル化テストの詳細説明

墨辰丷
墨辰丷オリジナル
2018-05-18 14:52:081623ブラウズ

この記事では、主に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 //不过近乎一致

関連する推奨事項:

ネイティブ JS を使用してフォームを実装する

シリアル化

(グラフィック チュートリアル)

PHP シリアル化
とialization

詳しい説明関数の例

JSONシリアル化と逆シリアル化
の実装メソッド(コード付き)


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

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