Uploaded image for project: 'Cayenne'
  1. Cayenne
  2. CAY-2083

Implement Protostuff as serialization service for Cayenne ROP

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Done
    • None
    • 4.0.M4
    • ROP
    • None

    Description

      Source: http://www.protostuff.io/
      It based on protobuf but has some optimizations and some cool things like runtime serialization graph of objects (like Hessian). So we shouldn't define proto files although it might increase efficiency. And it work well with Java8 Date and Time types. It is also an alive project.

      Here is some benchmarks. Take a look at Full Object Graph Serializers section.
      http://hperadin.github.io/jvm-serializers-report/report.html
      https://github.com/eishay/jvm-serializers/wiki

      I've also forked one repo and added Hessian to comparison https://github.com/thinline72/protostuff-example
      Here is my results:
      Benchmark for 1000000 objects (includes both serialization and deserialization)
      jdk : 3,428 s
      jackson : 575,2 ms
      fasterxml : 503,5 ms
      protobuf : 257,9 ms
      protostuff : 215,5 ms
      kryo : 390,5 ms
      hessian : 3,234 s

      Attachments

        Activity

          People

            SavvaKolbachev Savva Kolbachev
            SavvaKolbachev Savva Kolbachev
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: