Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 14559|Válasz: 0

[Forrás] Java kryo/protobuf/protostuff serialization vagy JSON performance comparison

[Linket másol]
Közzétéve 2019. 07. 15. 21:16:23 | | |
Egy Java objektum serializálásához szeretném tesztelni a különbséget a JSON és az általános serializációs eszközök használata között az időbeli és térbeli teljesítmény szempontjából.

JSON a fastjson használatát választja.

A serializációs eszköz Protostuffot és Kyro-t használ. Miért ne használnánk Protobufot? Mert úgy érzem, hogy egy több száz meglévő tulajdonsággal rendelkező Java osztálynál egy új megfelelőbb proto fájl létrehozása kissé emberellenes. A Protostuff egy továbbfejlesztett Protobuf verziója, amely lehetővé teszi, hogy közvetlenül serializálj egy Java objektumot, kicsit úgy, mint a Kyro, anélkül, hogy annyi köztes folyamatot kellene igénybe venni, mint a Protobuf. Mások, mint a Hession, a Java sorozatolással stb., azt mondják, sokkal rosszabb teljesítményűek, mint a Kryo és a Protobuf, szóval nem tudom, mire számítsak.

Egy egyszerű teszt után azt tapasztaltam, hogy a hiány elég nyilvánvaló, így úgy éreztem, nincs szükség konkrét értékelésre. Vágj ki egy bekezdést a naplóból, és küldd el, mindenki érzi.

költség-idő System.nanoTime(); Mindhárom alapértelmezett konfiguráció, de nincs semmilyen konfiguráció.
A serializáció utáni térterület valamivel alacsonyabb, mint a protostuffé, és mindkettő sokkal nagyobb, mint a JSON-é. Ez könnyen érthető, hiszen a json húrok olvashatók, ne erőltesd túl sokat.
A serializáció és deserializáció ideje jobb, mint Kyro-é a FastJSON-nál, és a különbség elég nyilvánvaló.

Összefoglalva, ha nincs rendkívül megterhelő térkövetelmény, a Protostuff lehet a legjobb választás. A Protostuffnak további előnye van Kyro-val szemben, vagyis ha a java osztály a sorozatosítás után és a deserializáció előtt (ami a valódi üzletben elkerülhetetlen) mezőket ad hozzá, akkor a Kyro haszontalan lesz. Azonban a protostuff használható, amennyiben az osztály végén hozzáadják, és a Sun sorozatú JDK-t használják. Ezért, ha olyan helyzetekben használják, mint a gyorsítótár, és a serializált objektumot hosszú ideig kell tárolni, akkor csak protostuff-t választhatsz.

Természetesen, ha olvashatóságra vagy hasonlóra van szükség, csak json-t használhatsz.




Előző:asp.net Testreszabni a session azonosító nevét
Következő:A Protobuf és JSON teljesítmény összehasonlítása .NET platformon belül
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com