Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 14559|Vastaus: 0

[Lähde] Java kryo/protobuf/protostuff serialisointi tai JSON-suorituskyvyn vertailu

[Kopioi linkki]
Julkaistu 15.7.2019 21.16.23 | | |
Java-objektin serialisointiin haluaisin testata eroa JSONin ja yleisten serialisointityökalujen välillä ajallisen ja spatiaalisen suorituskyvyn kannalta.

json valitsee käyttää fastjsonia.

Sarjoittamistyökalu käyttää Protostuffia ja Kyroa. Miksi et käyttäisi protobufia? Koska koen, että java-luokalle, jolla on satoja olemassa olevia ominaisuuksia, uuden vastaavan proto-tiedoston luominen on vähän epäinhimillistä. Protostuff on parannettu versio Protobufista, joka mahdollistaa Java-objektin suoran sarjallistamisen, käyttäen sitä vähän kuin Kyroa, ilman yhtä paljon väliprosesseja kuin Protobuf. Toiset, kuten Hession, Java sarjoituksilla jne., sanotaan olevan paljon huonompi suorituskyky kuin Kryo ja Protobuf, joten en tiedä mitä odottaa.

Yksinkertaisen testin jälkeen huomasin, että aukko oli melko ilmeinen, joten koin, ettei tarvetta tehdä erityistä arviointia. Leikkaa lokikirjasta kappale ja lähetä se, kaikki tuntevat sen.

kustannusaika on System.nanoTime(); Kaikki kolme ovat oletusasetuksia ilman mitään asetuksia.
Tilan jalankäyttö sarjallistamisen jälkeen on hieman pienempi kuin protomateriaalissa, ja molemmat ovat paljon suurempia kuin JSON:ssa. Tämä on helppo ymmärtää, loppujen lopuksi json-merkkijonot ovat luettavia, älä pakota liikaa.
Sarjoittamiseen ja deserialisointiin vaadittava aika on parempi kuin Kyron FastJSONiin, ja ero on selvä.

Yhteenvetona, jos tilavaatimuksia ei ole, Protostuff voi olla paras valinta. Protostuffilla on lisäetu Kyroon nähden, eli jos java-luokka lisää kenttiä serialisaation jälkeen ja ennen deserialisointia (mikä on väistämätöntä oikeassa liiketoiminnassa), Kyro on hyödytön. Protostuffia voi kuitenkin käyttää, kunhan se lisätään luokan lopussa ja käyttää Sun-sarjaa JDK. Siksi, jos sarjoittamista käytetään esimerkiksi välimuistissa ja sarjallinen olio täytyy säilyttää pitkään, voit valita vain protostuffin.

Tietenkin, jos on tarve luettavuudelle tai vastaavalle, voit käyttää vain jsonia.




Edellinen:asp.net Muokkaa session id:n nimeä
Seuraava:Vertailu Protobuf- ja JSON-suorituskyvystä .NET-alustalla
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com