Explication détaillée des tests de sérialisation des données PHP

墨辰丷
Libérer: 2023-03-26 16:46:01
original
1617 Les gens l'ont consulté

Cet article présente principalement des informations pertinentes sur l'explication détaillée des exemples de tests de sérialisation des données PHP. Il présente principalement la comparaison de msgpack, json et sérialiser. Les amis dans le besoin peuvent se référer aux

Données PHP. Exemples de tests de sérialisation. Explication détaillée

Code de test

$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";*/
Copier après la connexion

Résultats d'exécution

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
Copier après la connexion

Commentaires analytiques

Les résultats de base des recherches en ligne sont (probablement des versions antérieures à php7)

运行速度 serialize<json<msgpack
长度  serialize>json>msgpack
内存消耗 serialize<json<msgpack //不过近乎一致
Copier après la connexion

Exécutez-le en php7, et les résultats sont les suivants

运行速度 serialize<msgpack<json  //这里出现了变化
长度  serialize>json>msgpack
内存消耗 serialize<json<msgpack //不过近乎一致
Copier après la connexion

Connexe recommandé :

Utiliser js natif pour implémenter le formulaire sérialisation (tutoriel graphique)

PHP séquence Explication détaillée de et désérialisation sérialisation exemples de fonctions

JSONSérialisation et désérialisationSérialisationMéthode de mise en œuvre (avec code)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal