Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 26039|Vastaus: 2

[Lähde] .net/c# Xml, Json, Hessian, Protokollapuskurien sarjoittamisen vertailu

[Kopioi linkki]
Julkaistu 13.4.2018 13.23.31 | | | |
Lyhyt johdanto

Tämä blogi vertaa pääasiassa Xml-, Json-, Hessian- ja Protocol Bufferien serialisointi- ja deserialisointisuorituskykyä, jättäen Xml:n ja Jsonin peruskäsitteet sivuun.
Hessian: Hessian on kevyt etäohjattava onhttp-työkalu, joka tarjoaa RMI-toiminnallisuuden binäärisen RPC-protokollan avulla ja sisäänrakennetun sarjallistamiskyvyn.
Protokollapuskurit: Googlen tarjoama tietojenvaihtomuoto, joka on kieliriippumaton ja koska se on binäärimuoto, se on paljon nopeampi kuin xml-käyttö tiedonsiirtoon, ja sitä voidaan käyttää hajautettujen sovellusten väliseen tiedonsiirtoon tai tiedonvaihtoon heterogeenisissa ympäristöissä. Tehokkaana ja yhteensopivana binäärisenä tiedonsiirtomuotona sitä voidaan käyttää monilla aloilla, kuten verkon siirrossa, konfiguraatiotiedostoissa, datan tallennuksessa jne. Google tarjoaa Java-, C++- ja Python-toteutuksia, ja nyt Internetissä on myös kieliä, kuten C#.

Sarjoittaminen ja deserialisointi

XML: Käytä .Netin mukana tulevaa XmlSerializeria.
Json: Se käyttää ServiceStack.Textiä, joka on suorituskykyisempi kuin Newtonsoft.Json, mutta nopein pitäisi olla fastJSON.net.
Hessian: Käyttäen HessianCSharp-kirjastoa, ladattu nugetista.
Protokollapuskurit: Käytetään protobuf-netiä, ladattu nugetista.
Seuraavat ovat testissä käytetyt entiteetit.

Testikoneessa käytetty i7HQ 2.6HZ -prosessori.
Tässä ovat testin tulokset
Sarjoittaminen


Deserialisointi


Tavun pituus sarjoittamisen jälkeen


Puhutaan ensin sarjoituksesta, tässä sitä testataan 100 kertaa, 1000 kertaa, 10000 kertaa ja 100000 kertaa, ordinaatti on suoritusaika, yksikkö millisekunti, näet, että kun testaat 10000 kertaa, neljän sarjallistamisen ajan kulutus on hyvin pieni, kaikki 200 millisekunnin sisällä, 100000 kertaa ja 100000 kertaa, kaikki alkavat kasvaa, pahin on Xml, paras on protokollapuskurit, mutta kun se on 10000 kertaa, Hessian on parempi kuin Protocol Buffers.
10 000 deserialisoinnissa ei ole suurta eroa, mutta 10 000 kertaa näemme jo, että Hessian vie enemmän aikaa, ja 100 000 kertaa Hessian ylittää suoraan Xml:n, mikä saa minut aina ajattelemaan, että koodissani on ongelma, ja paras suorituskyky on silti Protocol Buffers.
Sarjoitettu tavupituus on ymmärrettävästi pisin Xml:ssä, koska tiedostossa on paljon lopetustageja (),</Name> ja Protocol Buffers on edelleen paras.

Yllä olevan kaavion perusteella voimme lähes nopeasti päätellä, että Protocol Buffers on paras, mutta mielestäni meidän on silti arvioitava sitä kattavasti seuraavista näkökohdista:
1. Luettavuus: Xml ja Json ovat molemmat tekstiä sarjoittamisen jälkeen, ja luettavuus on erittäin hyvä, esimerkiksi jos keskellä on virhe, voimme helposti tarkastella vaihdettua dataa ja jopa simuloida dataa testattavaksi; Sekä Hessian- että Protocol Buffers ovat binäärisiä, ja sisältö on lukukelvotonta sarjallistamisen jälkeen, mikä vaikuttaa tietysti järjestelmän vianetsintään.
2. Monipuolisuus: XML ja JSON ovat jo vanhoja datanvaihtomuotoja, ja nämä ovat kaksi muotoa yleisten järjestelmien väliseen tiedonvaihtoon. Sekä Hessian- että Protocol Bufferit ovat suhteellisen epäsuosittuja ja niitä käytetään vähemmän.
3. Kätevyys: Hessian on itse asiassa täydellinen RPC-kehys, määrittele rajapinta palvelinpuolella ja toteuta rajapinta, kopioi rajapinta asiakkaalle. Pienen koodauksen jälkeen voimme kutsua palvelinpuolta kuin paikallista metodia, jota ei ole saatavilla muissa kolmessa työkalussa, ja suorituskyky ei ole huono.





Edellinen:Windows asentaa .net/c#-palveluohjelman
Seuraava:StreamReader-ratkaisu sekaville merkeille tiedostoja lukiessa
 Vuokraisäntä| Julkaistu 31.8.2023 20.57.23 |
MessagePackin ja protobuf-netin suorituskykymittarit
https://www.itsvse.com/thread-10655-1-1.html
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com