See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 14559|Vastuse: 0

[Allikas] Java kryo/protobuf/protostuff serialiseerimine või JSON jõudluse võrdlus

[Kopeeri link]
Postitatud 15.07.2019 21:16:23 | | |
Java objekti serialiseerimiseks sooviksin testida JSON-i ja üldiste serialiseerimistööriistade vahelist vahet aja- ja ruumilise jõudluse osas.

JSON otsustab kasutada fastjsoni.

Serialiseerimistööriist kasutab Protostuffi ja Kyrot. Miks mitte kasutada protobufi? Sest mulle tundub, et Java klassi puhul, millel on sadu olemasolevaid omadusi, on uue sobiva proto-faili loomine natuke inimvastane. Protostuff on täiustatud versioon Protobufist, mis võimaldab Java objekti otse serialiseerida, kasutades seda natuke nagu Kyro, ilma nii paljude vaheprotsesside kasutamiseta nagu Protobuf. Teised, nagu Hession, Java seriaaliseerimisega jne, on väidetavalt kehvema jõudlusega kui Kryo ja Protobuf, nii et ma ei tea, mida oodata.

Pärast lihtsat testi avastasin, et oli üsna ilmne, nii et tundsin, et pole vaja teha konkreetset hindamist. Lõika päevikust lõik ja saada see välja, kõik tunnevad seda.

kuluaeg on System.nanoTime(); Kõik kolm on vaikimisi konfiguratsioonid ilma konfiguratsioonita.
Pärast seriaaliseerimist on ruumimaht veidi väiksem kui protomaterjalil ning mõlemad on palju suuremad kui JSON-il. See on ju lihtne mõista, sest json-stringid on loetavad, ära suru liiga palju.
Serialiseerimiseks ja deserialiseerimiseks kuluv aeg on parem kui Kyro kui FastJSONil ning erinevus on üsna ilmne.

Kokkuvõtteks, kui ruumi osas pole väga nõudlikke nõudeid, võib Protostuff olla parim valik. Protostuffil on Kyro ees täiendav eelis, see tähendab, et kui Java klass lisab väljad pärast seriaaliseerimist ja enne deserialiseerimist (mis on päriselus vältimatu), muutub Kyro kasutuks. Kuid protostuffi saab kasutada, kui see lisatakse klassi lõpus ja kasutab Sun Series JDK-d. Seega, kui serialiseerimist kasutatakse näiteks vahemälus ja serialiseeritud objekti tuleb kaua salvestada, saad valida ainult protostuffi.

Loomulikult, kui on vaja loetavust või midagi sellist, saad kasutada ainult jsoni.




Eelmine:asp.net Kohanda sessiooni ID nime
Järgmine:Protobufi ja JSON-i jõudluse võrdlus .NET platvormil
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com