Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 26039|Atbildi: 2

[Avots] .net/c# Xml, Json, Hessian, Protocol Buffers serializācijas salīdzinājums

[Kopēt saiti]
Publicēts 13.04.2018 13:23:31 | | | |
Īss ievads

Šajā emuārā galvenokārt tiek salīdzināta Xml, Json, Hesijas un protokola buferu serializācijas un deserializācijas veiktspēja, atstājot malā Xml un Json pamatjēdzienus.
Hesiešu: hesiešu valoda ir viegls attālinātās pārvietošanas rīkshttp, kas nodrošina RMI funkcionalitāti, izmantojot bināro RPC protokolu un iebūvētās serializācijas iespējas.
Protokola buferi: datu apmaiņas formāts no google, kas ir neatkarīgs no valodas, un, tā kā tas ir binārs formāts, tas ir daudz ātrāks nekā xml izmantošana datu apmaiņai, un to var izmantot datu saziņai starp izplatītām lietojumprogrammām vai datu apmaiņai neviendabīgā vidē. Kā efektīvu un saderīgu bināro datu pārraides formātu to var izmantot daudzās jomās, piemēram, tīkla pārraidē, konfigurācijas failos, datu glabāšanā utt. Google nodrošina Java, C++, Python ieviešanu, un tagad internetā ir tādas valodas kā C#.

Serializācija un deserializācija

XML: izmantojiet XmlSerializer, kas iekļauts .Net.
Json: Tas izmanto ServiceStack.Text, kas ir veiktspējīgāks nekā Newtonsoft.Json, bet ātrākajam vajadzētu būt fastJSON.net.
Hessian: HessianCSharp bibliotēkas izmantošana, lejupielādēta no nuget.
Protokola buferi: Izmantojot protobuf-net, lejupielādēts no nuget.
Tālāk ir norādītas testā izmantotās entītijas.

Testa mašīnā izmantotais i7HQ 2.6HZ procesors.
Šeit ir testa rezultāti
Serializācija


deserializācija


Baitu garums pēc serializācijas


Vispirms parunāsim par serializāciju, šeit tas tiek pārbaudīts attiecīgi 100 reizes, 1000 reizes, 10000 reizes un 100000 reizes, ordināta ir pabeigšanas laiks, vienība ir milisekundes, jūs varat redzēt, ka, pārbaudot 10000 reizes, 4 veidu serializācijas laika patēriņš ir ļoti mazs, visi 200 milisekunžu laikā, pēc 10000 reizēm, līdz 100000 reizes, tie visi sāk augt, sliktākais ir Xml, labākais ir protokola buferi, bet, kad tas ir 10000 reižu robežās, Hesijas valoda ir labāka par protokola buferiem.
10 000 deserializāciju starpā nav lielas atšķirības, bet 10 000 reižu mēs jau varam redzēt, ka hesiešu valoda ir laikietilpīgāka, un 100 000 reižu hesiešu valoda tieši pārsniedz Xml, kas man vienmēr liek domāt, ka ir problēma ar manu kodu, un vislabākā veiktspēja joprojām ir protokola buferi.
Saprotams, ka serializētais baitu garums ir visgarākais Xml, jo failā ir daudz beigu tagu (),</Name> un protokola buferi joprojām ir labākais.

Pamatojoties uz iepriekš redzamo grafiku, mēs gandrīz ātri varam secināt, ka protokola buferi ir labākie, bet es domāju, ka mums tas joprojām ir visaptveroši jāizvērtē no šādiem aspektiem:
1. Lasāmība: Xml un Json ir teksts pēc serializācijas, un lasāmība ir ļoti laba, piemēram, ja vidū ir kļūda, mēs varam viegli apskatīt apmainītos datus un pat simulēt pārbaudāmos datus; Gan Hesijas, gan protokola buferi ir bināri, un saturs pēc serializācijas ir nesalasāms, kas zināmā mērā ietekmēs sistēmas problēmu novēršanu.
2. Daudzpusība: XML un JSON jau ir veci datu apmaiņas formāti, un tie ir divi formāti datu apmaiņai starp vispārējām sistēmām. Gan Hesijas, gan protokola buferi ir salīdzinoši nepopulāri un tiek izmantoti mazāk.
3. Ērtības: Hessian faktiski ir pilnīga RPC sistēma, definējiet saskarni servera pusē un ieviesiet saskarni, kopējiet saskarni klientam Pēc neliela kodēšanas apjoma mēs varam izsaukt servera pusi, piemēram, izsaukt vietējo metodi, kas nav pieejama pārējos trīs rīkos, un veiktspēja nav slikta.





Iepriekšējo:Windows instalē .net/c# pakalpojuma programmu
Nākamo:StreamReader risinājums izkropļotām rakstzīmēm, lasot failus
 Saimnieks| Publicēts 31.08.2023 20:57:23 |
MessagePack un protobuf-net veiktspējas etaloni
https://www.itsvse.com/thread-10655-1-1.html
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com