Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 26039|Odpověď: 2

[Zdroj] .net/c# Xml, Json, Hessian, porovnání serializace protokolových bufferů

[Kopírovat odkaz]
Zveřejněno 13.04.2018 13:23:31 | | | |
Krátký úvod

Tento blog se především zabývá výkonem serializace a deserializace Xml, Json, Hessian a Protocol Buffers, přičemž opomíjí základní koncepty XML a Json.
Hessian: Hessian je lehký nástroj pro vzdálené připojení na http, který poskytuje funkce RMI pomocí binárního protokolu RPC a vestavěné možnosti serializace.
Protokolové buffery: Formát pro výměnu dat od Googlu, který je nezávislý na jazyce, a protože je binární, je mnohem rychlejší než použití xml pro výměnu dat a lze jej použít pro komunikaci dat mezi distribuovanými aplikacemi nebo výměnu dat v heterogenních prostředích. Jako efektivní a kompatibilní binární formát přenosu dat lze použít v mnoha oblastech, jako je síťový přenos, konfigurační soubory, ukládání dat atd. Google nabízí implementace Javy, C++, Pythonu a nyní existují implementace jazyků jako C# na internetu.

Serializace a deserializace

XML: Použijte XmlSerializer, který je součástí .Net.
Json: Používá ServiceStack.Text, který je výkonnější než Newtonsoft.json, ale nejrychlejší by měl být fastJSON.net.
Hessian: Pomocí knihovny HessianCSharp, stažené z nugetu.
Protocol Buffers: Používám protobuf-net, stažené z nugetu.
Následující entity jsou použity v testu.

Procesor i7HQ 2.6Hz používaný v testovacím stroji.
Zde jsou výsledky testu
Serializace


Deserializace


Délka bajtu po serializaci


Pojďme si nejprve promluvit o serializaci, zde se testuje s 100krát, 1000krát, 10000krát a 100000krát, ordinát je doba dokončení, jednotka je milisekundy, můžete vidět, že při testování s přesností 10 000krát je časová spotřeba 4 druhů serializace velmi malá, všechny do 200 milisekund, po 10 000krát až po 100 000krát, všechny začínají růst, nejhorší je Xml, nejlepší jsou Protocol Buffers, ale když je to v rámci 10000krát, Hessian je lepší než Protocol Buffers.
Rozdíl není velký v rámci 10 000 deserializací, ale při 10 000 násobcích už vidíme, že Hessian je časově náročnější, a při 100 000 násobcích Hessian přímo převyšuje Xml, což mě vždy vede k myšlence, že je problém s mým kódem, a nejlepší výkon jsou stále Protocol Buffers.
Délka serializovaného bajtu je pochopitelně nejdelší v Xml, protože soubor obsahuje mnoho koncových tagů (),</Name> a Protocol Buffers je stále nejlepší.

Na základě výše uvedeného grafu můžeme téměř rychle usoudit, že Protocol Buffers je nejlepší, ale myslím, že jej stále musíme komplexně hodnotit z následujících aspektů:
1. Čitelnost: XML i Json jsou po serializaci oba textové a čitelnost je velmi dobrá, například pokud dojde k chybě uprostřed, můžeme snadno zobrazit vyměněná data a dokonce je simulovat k testování; Jak Hessian, tak Protocol Buffers jsou binární a obsah je po serializaci nečitelný, což bude mít určitý dopad na řešení problémů systému.
2. Všestrannost: XML a JSON jsou již staré formáty pro výměnu dat a jedná se o dva formáty pro výměnu dat mezi obecnými systémy. Jak Hessian, tak protokolové buffery jsou poměrně nepopulární a používají se méně.
3. Pohodlí: Hessian je ve skutečnosti kompletní RPC framework, definujte rozhraní na serverové straně a implementujte ho implementací, zkopírujte rozhraní na klienta. Po krátkém množství kódování můžeme serverovou stranu volat jako lokální metodu, což není dostupné v ostatních třech nástrojích, a výkon není špatný.





Předchozí:Windows instaluje servisní program .net/c#
Další:Řešení StreamReaderu pro zkreslené znaky při čtení souborů
 Pronajímatel| Zveřejněno 31.08.2023 20:57:23 |
Benchmarky výkonu MessagePack a protobuf-net
https://www.itsvse.com/thread-10655-1-1.html
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com