Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #8497

Re: Low-latency alternative to Java Object Serialization

From Tom Anderson <twic@urchin.earth.li>
Newsgroups comp.lang.java.programmer
Subject Re: Low-latency alternative to Java Object Serialization
Date 2011-10-03 19:24 +0100
Organization Stack Usenet News Service
Message-ID <alpine.DEB.2.00.1110031916540.30829@urchin.earth.li> (permalink)
References <CAACD85F.81B3%bravegag@hotmail.com> <23089865.2265.1317485980290.JavaMail.geo-discussion-forums@preb19>

Show all headers | View raw


On Sat, 1 Oct 2011, Lew wrote:

> Giovanni Azua wrote:
>
>> Can anyone advice what would be best than Java Serialization without 
>> requiring an unreasonably heavy dependency footprint?
>
> Serialization assumes no knowledge on the restoring end about the 
> structures to restore, so all knowledge has to reside in the 
> serialization format.
>
> Circular dependencies, inheritance chains, the whole megillah has to be 
> encoded into the serialized stream.
>
> Serialization is designed to store and restore object graphs, not the 
> data in them.
>
> Take a page from web services and create an XML schema to represent the 
> *data* you wish to transfer.  This assumes knowledge on both ends of the 
> structures used to hold the data, unlike object serialization, hence 
> much less information must flow between the participants.
>
> Use JAXB to generate the classes used to process that schema and 
> incorporate those classes into the protocol at both ends.
>
> Fast, standard and fairly low effort and low maintenance, assuming you 
> have version control and continuous integration (CI).
>
> By "fast" I mean both to develop and to operate.

Interesting. I do not believe this to be true. Specifically, i believe 
that: (a) developing an XML-based transfer format using JAXB will take 
considerably more effort than using standard serialization, or an equally 
convenient library such as JBoss Serialization, although still not a large 
amount of effort, certainly; (b) the data will be larger than 
with standard serialization (because the "object graph overhead" is not 
actually that large, and XML is much less space-efficient than 
serialization's binary format); and (c) the speed of operation, even 
assuming an infinitely fast network, will be lower.

One get-out clause: for very short streams (one or a few objects), XML 
might beat standard serialization for space and speed. Standard 
serialization does have some per-class overhead, which is 
disproportionately expensive for short streams.

tom

-- 
Now I am thoroughly confused. -- Colin Brace sums up RT3090 support
in Linux

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Low-latency alternative to Java Object Serialization Giovanni Azua <bravegag@hotmail.com> - 2011-10-01 14:46 +0200
  Re: Low-latency alternative to Java Object Serialization Lew <lewbloch@gmail.com> - 2011-10-01 09:19 -0700
    Re: Low-latency alternative to Java Object Serialization Robert Klemme <shortcutter@googlemail.com> - 2011-10-01 21:13 +0200
      Re: Low-latency alternative to Java Object Serialization jebblue <n@n.nnn> - 2011-10-01 14:35 -0500
        Re: Low-latency alternative to Java Object Serialization Robert Klemme <shortcutter@googlemail.com> - 2011-10-02 11:07 +0200
        Re: Low-latency alternative to Java Object Serialization Roedy Green <see_website@mindprod.com.invalid> - 2011-10-03 11:43 -0700
    Re: Low-latency alternative to Java Object Serialization Tom Anderson <twic@urchin.earth.li> - 2011-10-03 19:24 +0100
      Re: Low-latency alternative to Java Object Serialization Roedy Green <see_website@mindprod.com.invalid> - 2011-10-04 02:45 -0700
      Re: Low-latency alternative to Java Object Serialization Lew <lewbloch@gmail.com> - 2011-10-04 08:55 -0700
  Re: Low-latency alternative to Java Object Serialization markspace <-@.> - 2011-10-01 09:48 -0700
    Re: Low-latency alternative to Java Object Serialization Roedy Green <see_website@mindprod.com.invalid> - 2011-10-04 02:51 -0700
  Re: Low-latency alternative to Java Object Serialization Robert Klemme <shortcutter@googlemail.com> - 2011-10-02 11:10 +0200
  Re: Low-latency alternative to Java Object Serialization Tom Anderson <twic@urchin.earth.li> - 2011-10-03 19:15 +0100
  Re: Low-latency alternative to Java Object Serialization Martin Gregorie <martin@address-in-sig.invalid> - 2011-10-02 11:50 +0000

csiph-web