<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-24611184.post4988909998268284008..comments</id><updated>2011-08-27T16:13:52.498-07:00</updated><category term='xml'/><category term='scala'/><category term='podcast'/><category term='StAX'/><category term='java'/><category term='programming'/><category term='jdo'/><category term='socialnetworks'/><category term='gwt'/><category term='monitoring'/><category term='open source'/><category term='Thrift'/><category term='linkedin'/><category term='javaposse'/><category term='protobuf'/><category term='Google App Engine'/><category term='test'/><category term='guic'/><category term='guice'/><category term='ibm'/><category term='groovy'/><category term='spring'/><category term='twitter'/><category term='OHF'/><category term='Eclipse'/><category term='Mac'/><category term='voldemort'/><category term='kaching'/><category term='testing'/><category term='j2ee'/><category term='work'/><category term='conferences'/><category term='xstream'/><category term='json'/><category term='Books'/><title type='text'>Comments on Wondering around: More on benchmarking java serialization tools</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.eishay.com/feeds/4988909998268284008/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default'/><link rel='alternate' type='text/html' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html'/><author><name>Eishay Smith</name><uri>http://www.blogger.com/profile/09443096006184006852</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://4.bp.blogspot.com/_O9TJAb-LjDE/S44K61181wI/AAAAAAAAAj0/oYGO2xz_kf4/S220/eishay.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-24611184.post-5872268477307340940</id><published>2011-04-16T05:51:20.741-07:00</published><updated>2011-04-16T05:51:20.741-07:00</updated><title type='text'>Nice article , you have indeed covered topic in de...</title><content type='html'>Nice article , you have indeed covered topic in details with benchmarking result and graphics. &lt;br /&gt;&lt;br /&gt;Thanks&lt;br /&gt;Javin&lt;br /&gt;&lt;a href="http://javarevisited.blogspot.com/2011/04/top-10-java-serialization-interview.html" rel="nofollow"&gt;Top 10 Java Serialization Interview Question &lt;/a&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/5872268477307340940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/5872268477307340940'/><link rel='alternate' type='text/html' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html?showComment=1302958280741#c5872268477307340940' title=''/><author><name>Javin  Paul</name><uri>http://www.blogger.com/profile/15028902221295732276</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html' ref='tag:blogger.com,1999:blog-24611184.post-4988909998268284008' source='http://www.blogger.com/feeds/24611184/posts/default/4988909998268284008' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1538488596'/></entry><entry><id>tag:blogger.com,1999:blog-24611184.post-9119606586192818268</id><published>2011-01-22T21:15:35.495-08:00</published><updated>2011-01-22T21:15:35.495-08:00</updated><title type='text'>http://harshcreationz.blogspot.com/2011/01/seriali...</title><content type='html'>http://harshcreationz.blogspot.com/2011/01/serialization-and-deserialization-from.html&lt;br /&gt;Here you can deserialize object from another project</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/9119606586192818268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/9119606586192818268'/><link rel='alternate' type='text/html' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html?showComment=1295759735495#c9119606586192818268' title=''/><author><name>Harsha</name><uri>http://www.blogger.com/profile/00683906560180928871</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html' ref='tag:blogger.com,1999:blog-24611184.post-4988909998268284008' source='http://www.blogger.com/feeds/24611184/posts/default/4988909998268284008' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-419474942'/></entry><entry><id>tag:blogger.com,1999:blog-24611184.post-5057541673502223204</id><published>2009-12-20T21:50:16.832-08:00</published><updated>2009-12-20T21:50:16.832-08:00</updated><title type='text'>Thanks Ron!
&amp;gt; I was however very surprised by t...</title><content type='html'>Thanks Ron!&lt;br /&gt;&amp;gt; I was however very surprised by the published results&lt;br /&gt;In the project wiki I tried to emphasize that the sample set may be misleading and some serializers work better with some datasets and not others. See the maling list for more discussions about it. The data type (integer, floating point, characters, enums), their lengths and the data structures (single value, list, map) are very important when deciding on the serializer to use. At kaChing for example we have a pluggable serializer module and we switch between JSON and Protobuf according to the value types.&lt;br /&gt;&lt;br /&gt;&amp;gt; I was also surprised to see that text serializers (xml, json) are better then hessian or java.&lt;br /&gt;When dealing with small diverse data structure (mix of few strings and numerics) they are much better. Less so if you have a large list of the same type.&lt;br /&gt;&lt;br /&gt;&amp;gt; I was wondering why not use an existing benchmark framework such as p-unit or japex.&lt;br /&gt;No reason. Contributions for integration will be welcomed. &lt;br /&gt;&lt;br /&gt;&amp;gt; I also think that each benchmark should be running in its own JVM, so as to make sure that all tests are run under the same conditions.&lt;br /&gt;They do.&lt;br /&gt;&lt;br /&gt;&amp;gt; I am not sure that the warm-up methods are enough.&lt;br /&gt;Played with more warm-up time and this one was the optimal. Please let me know if you have better warm-up properties.&lt;br /&gt; &lt;br /&gt;&amp;gt; I hope these comments will help create a better benchmark.&lt;br /&gt;They might, joining the project and contributing is more effective :-)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/5057541673502223204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/5057541673502223204'/><link rel='alternate' type='text/html' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html?showComment=1261374616832#c5057541673502223204' title=''/><author><name>Eishay Smith</name><uri>http://www.blogger.com/profile/09443096006184006852</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_O9TJAb-LjDE/SdlzHG9KSlI/AAAAAAAAAYc/kCnqSgnk0es/S220/n646386018_2207361_5928583.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html' ref='tag:blogger.com,1999:blog-24611184.post-4988909998268284008' source='http://www.blogger.com/feeds/24611184/posts/default/4988909998268284008' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1856236024'/></entry><entry><id>tag:blogger.com,1999:blog-24611184.post-6796579939279968932</id><published>2009-12-20T21:20:48.151-08:00</published><updated>2009-12-20T21:20:48.151-08:00</updated><title type='text'>Hi Ron! These are valid issues, and most are known...</title><content type='html'>Hi Ron! These are valid issues, and most are known to developers. And new contributions for improvements are happily accepted I think (I have contributed some additions, others too, it&amp;#39;s a work in progress, as always).&lt;br /&gt;&lt;br /&gt;One thing that may help explain results is the small size of the test document -- this heavily penalizes implementations that have significant per-document overhead. Seems like this is the case for Hessian. I was also surprised to see its poor performance, as I too have benchmarked it to be quite fast on other tests. But on the other hand, PB and Thrift do quite well, so there is something odd with Hessian here (I contributed hessian driver so it should not have any obvious flaws -- but if there are, I would love to find them).&lt;br /&gt;&lt;br /&gt;Also: serializers for json, xml, are the fastest available. There are many implementations that are significantly slower; so another reason may be that perhaps some binary codecs are not quite as heavily optimized.&lt;br /&gt;&lt;br /&gt;At any rate I think that binary codecs would show better relative performance for larger documents. Default Java serialization possibly a little bit too; but that depends on ratio of class metadata to actual data (JDK serialization has to add per-class metadata for each included type -- when there are multiple instances, overhead is less).</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/6796579939279968932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/6796579939279968932'/><link rel='alternate' type='text/html' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html?showComment=1261372848151#c6796579939279968932' title=''/><author><name>cowtowncoder</name><uri>http://www.blogger.com/profile/02343617472112278520</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html' ref='tag:blogger.com,1999:blog-24611184.post-4988909998268284008' source='http://www.blogger.com/feeds/24611184/posts/default/4988909998268284008' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1325534603'/></entry><entry><id>tag:blogger.com,1999:blog-24611184.post-7307452465311342320</id><published>2009-12-19T05:50:24.442-08:00</published><updated>2009-12-19T05:50:24.442-08:00</updated><title type='text'>Hello,

I have also written, but not publicized,  ...</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;I have also written, but not publicized,  a benchmark to test serialization. I found this project and I was however very surprised by the published results, which do not match mine.&lt;br /&gt;&lt;br /&gt;I was mostly interested in the differences between avro/reflection, java, hessian. I was also surprised to see that text serializers (xml, json) are better then hessian or java.&lt;br /&gt;&lt;br /&gt;Taking a look at the source. I was wondering why not use an existing benchmark framework such as p-unit or japex.&lt;br /&gt;&lt;br /&gt;I also think that each benchmark should be running in its own JVM, so as to make sure that all tests are run under the same conditions.&lt;br /&gt;I am not sure that the warm-up methods are enough.&lt;br /&gt;&lt;br /&gt;The single test also includes the creation of the serializer. This does not take into account that serializers may have optimizations, so that the first call to the serializer will take much longer then subsequent calls.&lt;br /&gt;So there should be tests for different use cases: &lt;br /&gt;&lt;br /&gt;- single serialize/deserialize (for example used in deep clone)&lt;br /&gt;- single serializer/deserializer for multiple operations (for example used in client/server communication)&lt;br /&gt;- etc... any suggestions ?&lt;br /&gt;&lt;br /&gt;The test is conducted with only one type of data. However different serializers excel in different domains. Some are better for graph structures, some for flat data, some depend on the length of the attribute names, package names etc., some optimize better with repeated objects, etc.&lt;br /&gt;&lt;br /&gt;The test does not differentiate between the features and requirements of the different serializers. Some require a schema or stub, some require code generation, some are schema tolerant, some require the transmission/storage of the schema etc.&lt;br /&gt;&lt;br /&gt;I hope these comments will help create a better benchmark.&lt;br /&gt;&lt;br /&gt;-- Ron&lt;br /&gt;http://yajsw.sourceforge.net</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/7307452465311342320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/7307452465311342320'/><link rel='alternate' type='text/html' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html?showComment=1261230624442#c7307452465311342320' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html' ref='tag:blogger.com,1999:blog-24611184.post-4988909998268284008' source='http://www.blogger.com/feeds/24611184/posts/default/4988909998268284008' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-160074955'/></entry><entry><id>tag:blogger.com,1999:blog-24611184.post-611623581845170848</id><published>2009-12-19T05:49:57.413-08:00</published><updated>2009-12-19T05:49:57.413-08:00</updated><title type='text'>Hello,

I have also written, but not publicized,  ...</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;I have also written, but not publicized,  a benchmark to test serialization. I found this project and I was however very surprised by the published results, which do not match mine.&lt;br /&gt;&lt;br /&gt;I was mostly interested in the differences between avro/reflection, java, hessian. I was also surprised to see that text serializers (xml, json) are better then hessian or java.&lt;br /&gt;&lt;br /&gt;Taking a look at the source. I was wondering why not use an existing benchmark framework such as p-unit or japex.&lt;br /&gt;&lt;br /&gt;I also think that each benchmark should be running in its own JVM, so as to make sure that all tests are run under the same conditions.&lt;br /&gt;I am not sure that the warm-up methods are enough.&lt;br /&gt;&lt;br /&gt;The single test also includes the creation of the serializer. This does not take into account that serializers may have optimizations, so that the first call to the serializer will take much longer then subsequent calls.&lt;br /&gt;So there should be tests for different use cases: &lt;br /&gt;&lt;br /&gt;- single serialize/deserialize (for example used in deep clone)&lt;br /&gt;- single serializer/deserializer for multiple operations (for example used in client/server communication)&lt;br /&gt;- etc... any suggestions ?&lt;br /&gt;&lt;br /&gt;The test is conducted with only one type of data. However different serializers excel in different domains. Some are better for graph structures, some for flat data, some depend on the length of the attribute names, package names etc., some optimize better with repeated objects, etc.&lt;br /&gt;&lt;br /&gt;The test does not differentiate between the features and requirements of the different serializers. Some require a schema or stub, some require code generation, some are schema tolerant, some require the transmission/storage of the schema etc.&lt;br /&gt;&lt;br /&gt;I hope these comments will help create a better benchmark.&lt;br /&gt;&lt;br /&gt;-- Ron&lt;br /&gt;http://yajsw.sourceforge.net</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/611623581845170848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/611623581845170848'/><link rel='alternate' type='text/html' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html?showComment=1261230597413#c611623581845170848' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html' ref='tag:blogger.com,1999:blog-24611184.post-4988909998268284008' source='http://www.blogger.com/feeds/24611184/posts/default/4988909998268284008' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-160074955'/></entry><entry><id>tag:blogger.com,1999:blog-24611184.post-6749298338913049717</id><published>2009-05-02T18:11:00.000-07:00</published><updated>2009-05-02T18:11:00.000-07:00</updated><title type='text'>Thanks, I'll check it out once it'll be released!</title><content type='html'>Thanks, I'll check it out once it'll be released!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/6749298338913049717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/6749298338913049717'/><link rel='alternate' type='text/html' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html?showComment=1241313060000#c6749298338913049717' title=''/><author><name>Eishay Smith</name><uri>http://www.blogger.com/profile/09443096006184006852</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_O9TJAb-LjDE/SdlzHG9KSlI/AAAAAAAAAYc/kCnqSgnk0es/S220/n646386018_2207361_5928583.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html' ref='tag:blogger.com,1999:blog-24611184.post-4988909998268284008' source='http://www.blogger.com/feeds/24611184/posts/default/4988909998268284008' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1856236024'/></entry><entry><id>tag:blogger.com,1999:blog-24611184.post-7608666233879220486</id><published>2009-05-02T18:03:00.000-07:00</published><updated>2009-05-02T18:03:00.000-07:00</updated><title type='text'>I assume you are using Binary Protocol for Thrift....</title><content type='html'>I assume you are using Binary Protocol for Thrift. If you try the newer Compact Protocol, it will serialize down probably as small as protobuf. &lt;br /&gt;&lt;br /&gt;Also, if you are using the released version of Thrift from sometime last year, the current trunk version (which is very stable, release coming soon!) has had a fair amount of performance work done on it.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/7608666233879220486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/7608666233879220486'/><link rel='alternate' type='text/html' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html?showComment=1241312580000#c7608666233879220486' title=''/><author><name>Bryan Duxbury</name><uri>http://www.blogger.com/profile/03943272906853855051</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html' ref='tag:blogger.com,1999:blog-24611184.post-4988909998268284008' source='http://www.blogger.com/feeds/24611184/posts/default/4988909998268284008' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-913454818'/></entry><entry><id>tag:blogger.com,1999:blog-24611184.post-6781815637710973470</id><published>2009-03-22T20:11:00.000-07:00</published><updated>2009-03-22T20:11:00.000-07:00</updated><title type='text'>@cowtowncoder the main page is on the project&amp;#39;...</title><content type='html'>@cowtowncoder the main page is on the project&amp;#39;s wiki at http://code.google.com/p/thrift-protobuf-compare/wiki/Benchmarking?ts=1237772203&amp;amp;updated=Benchmarking&lt;BR/&gt;Project commiters can update it and/or add more pages. For public discussion lets use the google group from now on at http://groups.google.com/group/java-serialization-benchmarking&lt;BR/&gt;Adding Hessian sounds like a good idea.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/6781815637710973470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/6781815637710973470'/><link rel='alternate' type='text/html' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html?showComment=1237777860000#c6781815637710973470' title=''/><author><name>Eishay Smith</name><uri>http://www.blogger.com/profile/09443096006184006852</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_O9TJAb-LjDE/SSHEkczXfAI/AAAAAAAAAPg/DAa6AP088sE/S220/eishay_3_s.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html' ref='tag:blogger.com,1999:blog-24611184.post-4988909998268284008' source='http://www.blogger.com/feeds/24611184/posts/default/4988909998268284008' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1856236024'/></entry><entry><id>tag:blogger.com,1999:blog-24611184.post-1406432598408040227</id><published>2009-03-22T20:01:00.000-07:00</published><updated>2009-03-22T20:01:00.000-07:00</updated><title type='text'>Yes, separate page(s) make sense. Perhaps at the p...</title><content type='html'>Yes, separate page(s) make sense. Perhaps at the project page?&lt;BR/&gt;&lt;BR/&gt;One more thing to possibly add: Hessian is one more simple thing to add, and something that is quite fast as well based on tests I did. It's a binary (java) object serialization protocol.&lt;BR/&gt;I could cobble a test together quite easily I think.&lt;BR/&gt;&lt;BR/&gt;As to Cajo, I also do not quite see how that would fit. It seems like a big framework, and nothing suggest it uses a separate module serialization/deserialization component. From description I'd guess it could use plain old Java serialization.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/1406432598408040227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/1406432598408040227'/><link rel='alternate' type='text/html' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html?showComment=1237777260000#c1406432598408040227' title=''/><author><name>cowtowncoder</name><uri>http://www.blogger.com/profile/02343617472112278520</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html' ref='tag:blogger.com,1999:blog-24611184.post-4988909998268284008' source='http://www.blogger.com/feeds/24611184/posts/default/4988909998268284008' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1325534603'/></entry><entry><id>tag:blogger.com,1999:blog-24611184.post-2811035306894081625</id><published>2009-03-21T00:05:00.000-07:00</published><updated>2009-03-21T00:05:00.000-07:00</updated><title type='text'>Cool! &lt;br&gt;I'll post the results in a dedicated pag...</title><content type='html'>Cool! &lt;BR/&gt;I'll post the results in a dedicated page, its growing too big for this blog :-)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/2811035306894081625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/2811035306894081625'/><link rel='alternate' type='text/html' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html?showComment=1237619100000#c2811035306894081625' title=''/><author><name>Eishay Smith</name><uri>http://www.blogger.com/profile/09443096006184006852</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_O9TJAb-LjDE/SSHEkczXfAI/AAAAAAAAAPg/DAa6AP088sE/S220/eishay_3_s.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html' ref='tag:blogger.com,1999:blog-24611184.post-4988909998268284008' source='http://www.blogger.com/feeds/24611184/posts/default/4988909998268284008' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1856236024'/></entry><entry><id>tag:blogger.com,1999:blog-24611184.post-1886973471398567872</id><published>2009-03-20T23:31:00.000-07:00</published><updated>2009-03-20T23:31:00.000-07:00</updated><title type='text'>I added some more tests; xml/stax with Aalto, as w...</title><content type='html'>I added some more tests; xml/stax with Aalto, as well as Fast Infoset (binary xml) via its stax api implementation.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/1886973471398567872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/1886973471398567872'/><link rel='alternate' type='text/html' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html?showComment=1237617060000#c1886973471398567872' title=''/><author><name>cowtowncoder</name><uri>http://www.blogger.com/profile/02343617472112278520</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html' ref='tag:blogger.com,1999:blog-24611184.post-4988909998268284008' source='http://www.blogger.com/feeds/24611184/posts/default/4988909998268284008' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1325534603'/></entry><entry><id>tag:blogger.com,1999:blog-24611184.post-314551710321287695</id><published>2009-03-19T08:27:00.000-07:00</published><updated>2009-03-19T08:27:00.000-07:00</updated><title type='text'>More results (with new lib)&lt;br&gt;&lt;br&gt;               ...</title><content type='html'>More results (with new lib)&lt;BR/&gt;&lt;BR/&gt;                              ,   Object create,    Serializaton, Deserialization, Serialized Size&lt;BR/&gt;java (externalizable)         ,        73.65100,      4683.54400,     14538.46300,        315&lt;BR/&gt;xstream(xpp)                  ,        97.98270,     75685.54700,    135505.52950,        931&lt;BR/&gt;json                          ,        87.99550,      2847.90250,      4306.42750,        310&lt;BR/&gt;protobuf                      ,       189.38740,      3038.74250,      1979.13000,        217&lt;BR/&gt;xstream(stax) with conv       ,        87.61310,      9067.81750,     18113.96850,        325&lt;BR/&gt;java                          ,        86.94640,     12254.38150,     57572.16250,        845&lt;BR/&gt;sbinary                       ,        55.59485,      2846.53100,      2758.94450,        190&lt;BR/&gt;xstream(xpp) with conv        ,        87.63940,     10858.89200,     36172.06400,        310&lt;BR/&gt;thrift                        ,       142.58605,      3683.40700,      3812.90900,        314&lt;BR/&gt;javolution xmlformat          ,        87.79790,      4487.80100,     10278.79150,        345&lt;BR/&gt;stax                          ,        87.28780,      4323.57150,      7692.04550,        406&lt;BR/&gt;scala                         ,        68.03025,     31674.93900,    150840.46500,       1950</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/314551710321287695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/314551710321287695'/><link rel='alternate' type='text/html' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html?showComment=1237476420000#c314551710321287695' title=''/><author><name>David Bernard</name><uri>http://www.blogger.com/profile/10258681071629942075</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_zvTlTj2t3eU/R2Aw8WB_rII/AAAAAAAAAAM/FeLAs-Iclas/S220/wyvern-tux-dredd.png'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html' ref='tag:blogger.com,1999:blog-24611184.post-4988909998268284008' source='http://www.blogger.com/feeds/24611184/posts/default/4988909998268284008' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1451322799'/></entry><entry><id>tag:blogger.com,1999:blog-24611184.post-8456083665490307790</id><published>2009-03-19T03:07:00.000-07:00</published><updated>2009-03-19T03:07:00.000-07:00</updated><title type='text'>@eishay At it's core Cajo is about RPC, which mean...</title><content type='html'>@eishay At it's core Cajo is about RPC, which means a lot of serialization/deserialization of object representations. I'm evaluating several remoting alternatives and your entry is very instrumental doing that.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/8456083665490307790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/8456083665490307790'/><link rel='alternate' type='text/html' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html?showComment=1237457220000#c8456083665490307790' title=''/><author><name>Ophir</name><uri>http://ophir.radnitz.name/</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/openid16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html' ref='tag:blogger.com,1999:blog-24611184.post-4988909998268284008' source='http://www.blogger.com/feeds/24611184/posts/default/4988909998268284008' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1388621927'/></entry><entry><id>tag:blogger.com,1999:blog-24611184.post-9000427977331842847</id><published>2009-03-18T08:42:00.000-07:00</published><updated>2009-03-18T08:42:00.000-07:00</updated><title type='text'>@ofir you are welcome to write the code and compar...</title><content type='html'>@ofir you are welcome to write the code and compare, though I don't see how is Cajo relevant to this benchmark.&lt;BR/&gt;@david i agree. One first need to see it serialization is a bottleneck at all. If its not and will never be then premature optimization is the source of all evil. If it is a bottleneck then the performance may vary a lot with different data sets (size, type etc.) and jvm profile.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/9000427977331842847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/9000427977331842847'/><link rel='alternate' type='text/html' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html?showComment=1237390920000#c9000427977331842847' title=''/><author><name>Eishay Smith</name><uri>http://www.blogger.com/profile/09443096006184006852</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_O9TJAb-LjDE/SSHEkczXfAI/AAAAAAAAAPg/DAa6AP088sE/S220/eishay_3_s.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html' ref='tag:blogger.com,1999:blog-24611184.post-4988909998268284008' source='http://www.blogger.com/feeds/24611184/posts/default/4988909998268284008' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1856236024'/></entry><entry><id>tag:blogger.com,1999:blog-24611184.post-5907549256755042226</id><published>2009-03-18T08:14:00.000-07:00</published><updated>2009-03-18T08:14:00.000-07:00</updated><title type='text'>Just a quick note, result of the bench is importan...</title><content type='html'>Just a quick note, result of the bench is important. But don't forget when you choose a technologie, the size of the code, developer need to write to serialize/deserialize "business" object (protobuf message aren't). If you have lot of message it could be a long task.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/5907549256755042226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/5907549256755042226'/><link rel='alternate' type='text/html' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html?showComment=1237389240000#c5907549256755042226' title=''/><author><name>David Bernard</name><uri>http://www.blogger.com/profile/10258681071629942075</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_zvTlTj2t3eU/R2Aw8WB_rII/AAAAAAAAAAM/FeLAs-Iclas/S220/wyvern-tux-dredd.png'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html' ref='tag:blogger.com,1999:blog-24611184.post-4988909998268284008' source='http://www.blogger.com/feeds/24611184/posts/default/4988909998268284008' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1451322799'/></entry><entry><id>tag:blogger.com,1999:blog-24611184.post-1382732584632376165</id><published>2009-03-18T06:48:00.000-07:00</published><updated>2009-03-18T06:48:00.000-07:00</updated><title type='text'>Very interesting, thanks for the input. I'm wonder...</title><content type='html'>Very interesting, thanks for the input. I'm wondering how Cajo (https://cajo.dev.java.net/) would compare.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/1382732584632376165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24611184/4988909998268284008/comments/default/1382732584632376165'/><link rel='alternate' type='text/html' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html?showComment=1237384080000#c1382732584632376165' title=''/><author><name>Ophir</name><uri>http://ophir.radnitz.name/</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/openid16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.eishay.com/2009/03/more-on-benchmarking-java-serialization.html' ref='tag:blogger.com,1999:blog-24611184.post-4988909998268284008' source='http://www.blogger.com/feeds/24611184/posts/default/4988909998268284008' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1388621927'/></entry></feed>
