Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 14559|Odgovoriti: 0

[Vir] Java kryo/protobuf/protostuff serializacija ali primerjava zmogljivosti JSON

[Kopiraj povezavo]
Objavljeno na 15. 07. 2019 21:16:23 | | |
Za serializacijo Java objektov bi rad preizkusil razliko med uporabo JSON in uporabo splošnih orodij za serializacijo glede časovne in prostorske zmogljivosti.

json se odloči za uporabo fastjson.

Orodje za serializacijo uporablja Protostuff in Kyro. Zakaj ne uporabiš protobufa? Ker menim, da je za java razred s stotinami obstoječih lastnosti ustvarjanje nove ujemajoče proto datoteke nekoliko protičloveško. Protostuff je izboljšana različica Protobufa, ki omogoča neposredno serializacijo Java objekta, z uporabo podobno kot Kyro, brez toliko vmesnih procesov kot Protobuf. Druge, kot so Hession, Java s serializacijo itd., naj bi imele veliko slabšo zmogljivost kot Kryo in Protobuf, zato ne vem, kaj pričakovati.

Po preprostem testu sem ugotovil, da je vrzel precej očitna, zato sem menil, da ni potrebe po posebni oceni. Izrežite odstavek dnevnika in ga pošljite naprej, vsi to začutijo.

cost time je System.nanoTime(); Vse tri so privzete konfiguracije brez kakršnekoli konfiguracije.
Prostorska odmera po serializaciji je nekoliko manjša kot pri protostuffu, oba pa sta precej večja kot pri JSON-u. To je enostavno razumeti, saj so json nizi berljivi, ne silite preveč.
Čas, potreben za serializacijo in deserializacijo, je boljši kot pri Kyro v primerjavi s FastJSON, razlika pa je precej očitna.

Torej, za zaključek, če ni izjemno zahtevnih prostorskih zahtev, je Protostuff morda najboljša možnost. Protostuff ima dodatno prednost pred Kyro, in sicer, če razred Java doda polja po serializaciji in pred deserializacijo (kar je v resničnem poslovanju neizogibno), bo Kyro neuporaben. Vendar pa se protostuff lahko uporablja, dokler je dodan na koncu tečaja in uporablja serijo sun JDK. Zato, če se serializacija uporablja v scenarijih, kot je predpomnilnik, in je treba serializirani objekt shranjevati dalj časa, lahko izberete le protostuff.

Seveda, če je potrebna berljivost ali kaj podobnega, lahko uporabljaš samo json.




Prejšnji:asp.net Prilagodite ime ID seje
Naslednji:Primerjava zmogljivosti Protobuf in JSON na platformi .NET
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com