6 komentáře “Serializujte optimálně skrze Kryo

  1. Jestli te zaujal reflactasm tak si nemuzu neprihrat vlastni polivcicku – https://github.com/jerrinot/FieldMagic

    Vysoce experimentalni, funkcne neuplne, neotestovane, ale dostane se to bez puziti reflection i k private fieldum. Za zneuziti implementacniho detailu HotSpotu.

  2. To zní dobře, oproti Google protocol buffers. které jsem v podobném usecase používal já, to nevyžaduje speciální formát (jako je .proto) a tím pádem odpadá i nutnost vygenerování domain objektů, což je super výhoda.

    • Bylo byla zajimave zkusit upravit domain tridy a mit fieldy jako public.
      Jen pro test, zajimal by me rozdil. Kryo pouziva https://github.com/EsotericSoftware/reflectasm a to se neumi dostat k private fieldum jinak nez pres reflection. Pro public fieldy vygeneruje vlastni bytecode (GETFIELD).

      Pozor pokud to provozujete na platforme, ktere vyzaduje „aligned“ pristup do pameti (Sparc?). Kryo na to kasle (kaslalo?) a shazuje to celou JVM.

      • Úpravu tříd na public fieldy zkusit můžu – není to složité. Pak jsem postnu naměřené výsledky. Jen se k tomu dostanu asi až o víkendu.

        Díky moc za příspěvky – o reflectasm jsem neměl ani páru. Každopádně to Kryo má embednuté, protože pokud vím tak ve WARu se vysktuje jen to kryo.jar.

      • Tak jsem to vyzkoušel a bylo tam jen drobné zrychlení (cca 5%) ale to mohla být stejně tak dobře chyba měření (je to jen microbenchmark). Charakteristiky (poměry) výkonnosti zůstaly u všech způsobů víceméně stejné.

Napsat komentář