Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 14559|Odpověď: 0

[Zdroj] Java kryo/protobuf/protostuff serializace nebo srovnání výkonu JSON

[Kopírovat odkaz]
Zveřejněno 15.07.2019 21:16:23 | | |
Pro serializaci Java objektu bych rád otestoval rozdíl mezi použitím JSON a obecnými nástroji pro serializaci z hlediska časového a prostorového výkonu.

json volí použití fastjson.

Nástroj pro serializaci používá Protostuff a Kyro. Proč nepoužít protobuf? Protože mám pocit, že pro Java třídu se stovkami existujících vlastností je vytvoření nového shodného proto souboru trochu proti lidskosti. Protostuff je vylepšená verze Protobufu, která umožňuje serializovat Java objekt přímo, použít ho trochu jako Kyro, bez tolika mezilehlých procesů jako Protobuf. Jiné, jako Hession, Java se serializací atd., mají údajně mnohem horší výkon než Kryo a Protobuf, takže nevím, co očekávat.

Po jednoduchém testu jsem zjistil, že mezera je dost zřejmá, takže jsem cítil, že není potřeba dělat konkrétní hodnocení. Vystřihněte odstavec z deníku a pošlete ho ven, všichni to cítí.

cost time je System.nanoTime(); Všechny tři jsou výchozí konfigurace bez jakékoli konfigurace.
Prostorová plocha po serializaci je o něco nižší než u protostuff, a oba jsou mnohem větší než u JSON. To je snadné pochopit, koneckonců, json řetězce jsou čitelné, nenuťte to příliš.
Čas potřebný na serializaci a deserializaci je lepší než u Kyro oproti FastJSONu a rozdíl je docela zřejmý.

Takže závěrem, pokud nejsou extrémně náročné požadavky na prostor, Protostuff může být nejlepší volbou. Protostuff má navíc výhodu oproti Kyro, a to že pokud třída Java přidá pole po serializaci a před deserializací (což je v reálném byznysu nevyhnutelné), Kyro bude k ničemu. Nicméně protostuff lze použít, pokud je přidán na konci kurzu a používá JDK ze série Sun Series. Pokud se tedy serializace používá například v cache a serializovaný objekt musí být uložen dlouho, můžete zvolit jen protostuff.

Samozřejmě, pokud je potřeba čtitelnost nebo něco podobného, můžete použít jen json.




Předchozí:asp.net Přizpůsobte název ID relace
Další:Srovnání výkonu Protobuf a JSON pod platformou .NET
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com