Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 26039|Odpoveď: 2

[Zdroj] .net/c# Xml, Json, Hessian, porovnanie serializácie protokolových bufferov

[Kopírovať odkaz]
Zverejnené 13. 4. 2018 13:23:31 | | | |
Stručný úvod

Tento blog porovnáva najmä výkon serializácie a deserializácie Xml, Json, Hessian a Protocol Buffers, pričom základné koncepty Xml a Json nepočítame.
Hessian: Hessian je ľahký nástroj na vzdialené pripojenie na http, ktorý poskytuje RMI funkcionalitu pomocou binárneho protokolu RPC a zabudované schopnosti serializácie.
Protokolové buffery: Formát na výmenu dát od Google, ktorý je jazykovo nezávislý, a keďže ide o binárny formát, je oveľa rýchlejší ako použitie xml na výmenu dát a môže sa použiť na komunikáciu medzi distribuovanými aplikáciami alebo na výmenu dát v heterogénnych prostrediach. Ako efektívny a kompatibilný binárny formát prenosu dát sa môže použiť v mnohých oblastiach, ako je sieťový prenos, konfiguračné súbory, ukladanie dát a podobne. Google poskytuje implementácie Javy, C++, Pythonu a teraz existujú aj implementácie jazykov ako C# na internete.

Serializácia a deserializácia

XML: Použite XmlSerializer, ktorý je súčasťou .Net.
Json: Používa ServiceStack.Text, ktorý je výkonnejší ako Newtonsoft.Json, ale najrýchlejší by mal byť fastJSON.net.
Hessian: Používam knižnicu HessianCSharp, stiahnutú z nuget.
Protokolové buffery: Používam protobuf-net, stiahnuté z nugetu.
Nasledujú entity použité v teste.

Procesor i7HQ 2.6HZ použitý v testovacom stroji.
Tu sú výsledky testu
Serializácia


Deserializácia


Dĺžka bajtu po serializácii


Najprv sa porozprávajme o serializácii, tu sa testuje s 100-krát, 1000-krát, 10000-krát a 100000-krát, ordinát je čas dokončenia, jednotka sú milisekundy, môžete vidieť, že pri testovaní s presnosťou 10000-krát je časová spotreba 4 druhov serializácie veľmi malá, všetky do 200 milisekúnd, po 10000-krát až po 100000-krát, všetky začnú rásť, najhoršie je Xml, najlepšie sú protokolové buffery, ale keď je to v rámci 10000-krát, Hessian je lepší ako Protocol Buffers.
V rámci 10 000 deserializácií nie je veľký rozdiel, ale pri 10 000-krát už vidíme, že Hessian je časovo náročnejší, a pri 100 000-krát Hessian priamo prevyšuje Xml, čo ma vždy vedie k myšlienke, že je problém s mojím kódom, a najlepší výkon sú stále protokolové buffery.
Dĺžka serializovaného bajtu je pochopiteľne najdlhšia v Xml, pretože súbor obsahuje veľa koncových tagov (),</Name> a Protocol Buffers je stále najlepší.

Na základe vyššie uvedeného grafu môžeme takmer rýchlo dospieť k záveru, že Protocol Buffers je najlepší, ale myslím si, že ho stále musíme komplexne vyhodnotiť z nasledujúcich aspektov:
1. Čitateľnosť: XML aj Json sú po serializácii textové a čitateľnosť je veľmi dobrá, napríklad ak dôjde k chybe uprostred, môžeme ľahko zobraziť vymieňané dáta a dokonca ich simulovať na testovanie; Hessian aj protokolové buffery sú binárne a obsah je po serializácii nečitateľný, čo má určitý vplyv na riešenie problémov systému.
2. Všestrannosť: XML a JSON sú už staré formáty na výmenu dát a ide o dva formáty pre výmenu dát medzi všeobecnými systémami. Hessian aj protokolové buffery sú relatívne nepopulárne a používajú sa menej.
3. Pohodlie: Hessian je v skutočnosti kompletný RPC framework, definuj rozhranie na serverovej strane a implementuj rozhranie, skopíruj rozhranie klientovi. Po malom kódovaní môžeme serverovú stranu volať lokálnou metódou, čo nie je dostupné v ostatných troch nástrojoch, a výkon nie je zlý.





Predchádzajúci:Windows inštaluje servisný program .net/c#
Budúci:Riešenie pre StreamReader pre nesprávne znaky pri čítaní súborov
 Prenajímateľ| Zverejnené 31. 8. 2023 20:57:23 |
Benchmarky výkonu MessagePack a protobuf-net
https://www.itsvse.com/thread-10655-1-1.html
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com