Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 14559|Atsakyti: 0

[Šaltinis] Java kryo/protobuf/protostuff serializacija arba JSON našumo palyginimas

[Kopijuoti nuorodą]
Paskelbta 2019-07-15 21:16:23 | | |
Dėl Java objekto serializavimo norėčiau išbandyti skirtumą tarp JSON naudojimo ir bendrųjų serializavimo įrankių naudojimo laiko ir erdvės našumo požiūriu.

JSON pasirenka naudoti FASTJSON.

Serializavimo įrankis naudoja "Protostuff" ir "Kyro". Kodėl gi nenaudojant protobufo? Nes aš jaučiu, kad Java klasės su šimtais esamų savybių, sukurti naują atitikimo proto failą yra šiek tiek anti-žmogus. Protostuff yra patobulinta Protobuf versija, leidžianti tiesiogiai serializuoti Java objektą, naudojant jį šiek tiek panašiai kaip Kyro, be tiek daug tarpinių procesų, kaip Protobuf. Teigiama, kad kiti, tokie kaip Hession, Java su serializacija ir kt., turi daug prastesnį našumą nei Kryo ir Protobuf, todėl nežinau, ko tikėtis.

Po paprasto bandymo pastebėjau, kad atotrūkis yra gana akivaizdus, todėl pajutau, kad nereikia atlikti konkretaus vertinimo. Iškirpkite žurnalo pastraipą ir išsiųskite ją, visi tai jaučia.

išlaidų laikas yra System.nanoTime(); Visos trys yra numatytosios konfigūracijos be jokios konfigūracijos.
Erdvės pėdsakas po serializacijos yra šiek tiek mažesnis nei protostuff, ir abu yra daug didesni nei JSON. Tai lengva suprasti, juk json stygos yra skaitomos, per daug neverčia.
Serializavimui ir deserializavimui reikalingas laikas yra geresnis nei "Kyro", o ne "FastJSON", o skirtumas yra gana akivaizdus.

Taigi apibendrinant, jei nėra itin didelių reikalavimų erdvei, "Protostuff" gali būti geriausias pasirinkimas. Protostuff turi papildomą pranašumą prieš Kyro, tai yra, jei java klasė prideda laukus po serializacijos ir prieš deserializaciją (o tai neišvengiama realiame versle), Kyro bus nenaudinga. Tačiau protostuff gali būti naudojamas tol, kol jis pridedamas klasės pabaigoje ir naudoja saulės seriją JDK. Todėl, jei serializacija naudojama tokiuose scenarijuose kaip talpykla, o serializuotą objektą reikia saugoti ilgą laiką, galite pasirinkti tik protostuff.

Žinoma, jei reikia skaitomumo ar pan., galite naudoti tik json.




Ankstesnis:asp.net Tinkinkite seanso ID pavadinimą
Kitą:Protobuf ir JSON našumo palyginimas .NET platformoje
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com