<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: The ActiveMQ Protobuf Implementation Rocks!</title>
	<atom:link href="http://hiramchirino.com/blog/2009/09/the-activemq-protobuf-implementation-rocks/feed/" rel="self" type="application/rss+xml" />
	<link>http://hiramchirino.com/blog/2009/09/the-activemq-protobuf-implementation-rocks/</link>
	<description>My Ramblings on Hawt Tech</description>
	<lastBuildDate>Fri, 20 Aug 2010 17:57:58 -0600</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Hiram Chirino</title>
		<link>http://hiramchirino.com/blog/2009/09/the-activemq-protobuf-implementation-rocks/comment-page-1/#comment-39</link>
		<dc:creator>Hiram Chirino</dc:creator>
		<pubDate>Tue, 22 Sep 2009 14:33:31 +0000</pubDate>
		<guid isPermaLink="false">http://hiramchirino.com/wordpress/2009/09/the-activemq-protobuf-implementation-rocks/#comment-39</guid>
		<description>Sam,&lt;br /&gt;&lt;br /&gt;Yes that&#039;s right.  The bench mark only requires the parser to create a Bean object from the encoded byte[].  &lt;br /&gt;&lt;br /&gt;Unfortunately (for the benchmark), decoding does not kick in until some fields of the object are accessed.  And even if some fields were accessed, it would only partially decode the data.  It would need to access fields in all the nested messages if it wanted to test full decoding.</description>
		<content:encoded><![CDATA[<p>Sam,</p>
<p>Yes that&#39;s right.  The bench mark only requires the parser to create a Bean object from the encoded byte[].  </p>
<p>Unfortunately (for the benchmark), decoding does not kick in until some fields of the object are accessed.  And even if some fields were accessed, it would only partially decode the data.  It would need to access fields in all the nested messages if it wanted to test full decoding.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sam</title>
		<link>http://hiramchirino.com/blog/2009/09/the-activemq-protobuf-implementation-rocks/comment-page-1/#comment-38</link>
		<dc:creator>Sam</dc:creator>
		<pubDate>Tue, 22 Sep 2009 07:15:57 +0000</pubDate>
		<guid isPermaLink="false">http://hiramchirino.com/wordpress/2009/09/the-activemq-protobuf-implementation-rocks/#comment-38</guid>
		<description>You stated in your followup post that the deserialization is lazy.  I&#039;m wondering about this in conjunction with Kenton&#039;s skepticism regarding the deserialization performance graph.  Does that graph really represent deserialization or does it represent the code simply saying &quot;I&#039;ll do it later...&quot; ?</description>
		<content:encoded><![CDATA[<p>You stated in your followup post that the deserialization is lazy.  I&#39;m wondering about this in conjunction with Kenton&#39;s skepticism regarding the deserialization performance graph.  Does that graph really represent deserialization or does it represent the code simply saying &quot;I&#39;ll do it later&#8230;&quot; ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hiram Chirino</title>
		<link>http://hiramchirino.com/blog/2009/09/the-activemq-protobuf-implementation-rocks/comment-page-1/#comment-34</link>
		<dc:creator>Hiram Chirino</dc:creator>
		<pubDate>Fri, 18 Sep 2009 17:56:16 +0000</pubDate>
		<guid isPermaLink="false">http://hiramchirino.com/wordpress/2009/09/the-activemq-protobuf-implementation-rocks/#comment-34</guid>
		<description>BTW, it&#039;s not like I was working on this stuff in secret.  I did &lt;a href=&quot;http://groups.google.com/group/protobuf/browse_thread/thread/fe7ea8706b40146f/bdd22ddf89e4a6d3?#bdd22ddf89e4a6d3&quot; rel=&quot;nofollow&quot;&gt;post&lt;/a&gt; to the google group to see if anyone would be interested collaborating.&lt;br /&gt;&lt;br /&gt;I assumed folks were not. :)</description>
		<content:encoded><![CDATA[<p>BTW, it&#39;s not like I was working on this stuff in secret.  I did <a href="http://groups.google.com/group/protobuf/browse_thread/thread/fe7ea8706b40146f/bdd22ddf89e4a6d3?#bdd22ddf89e4a6d3" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/groups.google.com/group/protobuf/browse_thread/thread/fe7ea8706b40146f/bdd22ddf89e4a6d3?_bdd22ddf89e4a6d3&amp;referer=');">post</a> to the google group to see if anyone would be interested collaborating.</p>
<p>I assumed folks were not. <img src='http://hiramchirino.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kenton</title>
		<link>http://hiramchirino.com/blog/2009/09/the-activemq-protobuf-implementation-rocks/comment-page-1/#comment-33</link>
		<dc:creator>kenton</dc:creator>
		<pubDate>Fri, 18 Sep 2009 17:44:46 +0000</pubDate>
		<guid isPermaLink="false">http://hiramchirino.com/wordpress/2009/09/the-activemq-protobuf-implementation-rocks/#comment-33</guid>
		<description>I don&#039;t think we want to maintain two independent implementations, but I&#039;d like to know what optimizations you made, especially if the same optimizations could be made to our implementation.  I have to say I&#039;m skeptical of your deserialization benchmark -- is it really doing the same work as the official implementation?</description>
		<content:encoded><![CDATA[<p>I don&#39;t think we want to maintain two independent implementations, but I&#39;d like to know what optimizations you made, especially if the same optimizations could be made to our implementation.  I have to say I&#39;m skeptical of your deserialization benchmark &#8212; is it really doing the same work as the official implementation?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hiram Chirino</title>
		<link>http://hiramchirino.com/blog/2009/09/the-activemq-protobuf-implementation-rocks/comment-page-1/#comment-32</link>
		<dc:creator>Hiram Chirino</dc:creator>
		<pubDate>Fri, 18 Sep 2009 17:32:12 +0000</pubDate>
		<guid isPermaLink="false">http://hiramchirino.com/wordpress/2009/09/the-activemq-protobuf-implementation-rocks/#comment-32</guid>
		<description>Kenton,&lt;br /&gt;&lt;br /&gt;Firstly, I wanted to also implement a java based code generator.  That way it would be easier have a cross platform build that would be easily embeddable in a maven plugin.  Since the google protobuf code generator is c based, there&#039;s not really much that sharing that can be done there.&lt;br /&gt;&lt;br /&gt;Secondly, there are a few features that google java object model implements which I personally do not need for my needs and have no interest in implementing since it would only make the code generator more complex.  For example: runtime reflection of messages.  &lt;br /&gt;&lt;br /&gt;Some of the optimizations require a different object model/pattern from what is used by the google version.  It would be hard to retrofit some of this stuff into that model.&lt;br /&gt;&lt;br /&gt;All that being said, if the google folks would like me to submit the impl as a patch, I&#039;d be happy to.</description>
		<content:encoded><![CDATA[<p>Kenton,</p>
<p>Firstly, I wanted to also implement a java based code generator.  That way it would be easier have a cross platform build that would be easily embeddable in a maven plugin.  Since the google protobuf code generator is c based, there&#39;s not really much that sharing that can be done there.</p>
<p>Secondly, there are a few features that google java object model implements which I personally do not need for my needs and have no interest in implementing since it would only make the code generator more complex.  For example: runtime reflection of messages.  </p>
<p>Some of the optimizations require a different object model/pattern from what is used by the google version.  It would be hard to retrofit some of this stuff into that model.</p>
<p>All that being said, if the google folks would like me to submit the impl as a patch, I&#39;d be happy to.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hiram Chirino</title>
		<link>http://hiramchirino.com/blog/2009/09/the-activemq-protobuf-implementation-rocks/comment-page-1/#comment-31</link>
		<dc:creator>Hiram Chirino</dc:creator>
		<pubDate>Fri, 18 Sep 2009 17:13:18 +0000</pubDate>
		<guid isPermaLink="false">http://hiramchirino.com/wordpress/2009/09/the-activemq-protobuf-implementation-rocks/#comment-31</guid>
		<description>David Yu,&lt;br /&gt;&lt;br /&gt;I&#039;ll include some info on the flavor of builder pattern that we are using in my follow up post. &lt;br /&gt;&lt;br /&gt;The problem with the build is that it&#039;s part of a large distribution.  If you check out &lt;br /&gt;http://svn.apache.org/repos/asf/activemq/sandbox/activemq-flow/&lt;br /&gt;&lt;br /&gt;you should be able to do a quick build of all using:&lt;br /&gt;mvn install -Dtest=false</description>
		<content:encoded><![CDATA[<p>David Yu,</p>
<p>I&#39;ll include some info on the flavor of builder pattern that we are using in my follow up post. </p>
<p>The problem with the build is that it&#39;s part of a large distribution.  If you check out <br /><a href="http://svn.apache.org/repos/asf/activemq/sandbox/activemq-flow/" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/svn.apache.org/repos/asf/activemq/sandbox/activemq-flow/?referer=');">http://svn.apache.org/repos/asf/activemq/sandbox/activemq-flow/</a></p>
<p>you should be able to do a quick build of all using:<br />mvn install -Dtest=false</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Monty Taylor</title>
		<link>http://hiramchirino.com/blog/2009/09/the-activemq-protobuf-implementation-rocks/comment-page-1/#comment-30</link>
		<dc:creator>Monty Taylor</dc:creator>
		<pubDate>Fri, 18 Sep 2009 16:47:26 +0000</pubDate>
		<guid isPermaLink="false">http://hiramchirino.com/wordpress/2009/09/the-activemq-protobuf-implementation-rocks/#comment-30</guid>
		<description>Looks interesting! Any reason you didn&#039;t work with or contribute to the main Protobuf project? (I ask because I&#039;m a user of it and have contributed to it and would love for interesting new work to continue to make its way in)</description>
		<content:encoded><![CDATA[<p>Looks interesting! Any reason you didn&#39;t work with or contribute to the main Protobuf project? (I ask because I&#39;m a user of it and have contributed to it and would love for interesting new work to continue to make its way in)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kenton</title>
		<link>http://hiramchirino.com/blog/2009/09/the-activemq-protobuf-implementation-rocks/comment-page-1/#comment-29</link>
		<dc:creator>kenton</dc:creator>
		<pubDate>Fri, 18 Sep 2009 16:24:00 +0000</pubDate>
		<guid isPermaLink="false">http://hiramchirino.com/wordpress/2009/09/the-activemq-protobuf-implementation-rocks/#comment-29</guid>
		<description>What made you decide to write your own implementation rather than contribute patches with your optimizations to Google?</description>
		<content:encoded><![CDATA[<p>What made you decide to write your own implementation rather than contribute patches with your optimizations to Google?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Yu</title>
		<link>http://hiramchirino.com/blog/2009/09/the-activemq-protobuf-implementation-rocks/comment-page-1/#comment-28</link>
		<dc:creator>David Yu</dc:creator>
		<pubDate>Fri, 18 Sep 2009 11:43:15 +0000</pubDate>
		<guid isPermaLink="false">http://hiramchirino.com/wordpress/2009/09/the-activemq-protobuf-implementation-rocks/#comment-28</guid>
		<description>Curious/cant wait about the follow up post.  Good job!&lt;br /&gt;&lt;br /&gt;I&#039;m assuming the extra Message.Builder is scratched ... instead the pojo&#039;s setter methods returns the pojo (like the Builder pattern)&lt;br /&gt;&lt;br /&gt;The &quot;mvn install&quot; of the project fails.&lt;br /&gt;&quot;org.apache.activemq:activemq-util:jar:6.0-SNAPSHOT&quot; could not be resolved&lt;br /&gt;&lt;br /&gt;Looking forward to your follow up post.  Good job!</description>
		<content:encoded><![CDATA[<p>Curious/cant wait about the follow up post.  Good job!</p>
<p>I&#39;m assuming the extra Message.Builder is scratched &#8230; instead the pojo&#39;s setter methods returns the pojo (like the Builder pattern)</p>
<p>The &quot;mvn install&quot; of the project fails.<br />&quot;org.apache.activemq:activemq-util:jar:6.0-SNAPSHOT&quot; could not be resolved</p>
<p>Looking forward to your follow up post.  Good job!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
