<br><br><div class="gmail_quote">2011/6/20 Janko Mivšek <span dir="ltr">&lt;<a href="mailto:janko.mivsek@eranova.si">janko.mivsek@eranova.si</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi Masashi,<br>
<br>
Now we have a competition, Fuel vs. StOMP :) Big advantage of StOMP is<br>
that it is portable and already ported to VW. Which are other<br>
advantages? Disadvantages?<br>
<br>
Also question for Fuel developers, do you plan to port it to other<br>
Smalltalks too? Portability is namelly something which is very high on<br>
checking list for a serializer to use in portable projects, like most of<br>
web ones are.<br></blockquote><div><br>Hi Janko. I think &quot;portability&quot; is to wide to just talk without details. For me, portability in this case means two things: a) In a dialect XXX be able to materialize a  stream which was serialized in a dialect YYY: b)  that the code of the serializer can also work in another dialect (not necessary including a) ).<br>
<br>Fuel will not support a) for sure. At least, we will not do extra effort to support that. Regarding b), it is not Fuel first feature to be portable to other dialects. But let me explain it: <br>- We want to be able to serialize ANY kind of object, that includes BlockClosure, CompiledMethod, MethodContext, Class, Trait, etc.... Finding a abstract and portable representation for those objects across dialects is complicated.<br>
- We want to be as fast as possible. That means that if we find a way to be faster which only works in Pharo, we don&#39;t care. We will go ahead with that.<br><br>That being said, I have to say that Fuel OO design, from my point of view, is quite nice, easy to understand, and not difficult to port. As an example, Eliot Miranda easily not even port Fuel to another dialect but to Newspeak. And even more, he needed special management for Newspeak data, and he was able to easily adapt Fuel for his needs. So....from in this case Fuel was portable (in the sense of b) and flexible.<br>
<br><br>Another difference is that we try to be a little faster in materialization than in serialization (which is not the case of StOMP). So in summary, the differences I can see are:<br><br>1) StOMP is focus in portability across dialects and also be able to materialize the same stream in different dialects. Fuel is not focus on portability even if it could be portable in the sense of the code.<br>
2) StOMP is faster in serializing small/medium graphs. Fuel is faster in large graphs.<br>3) StOMP is faster in serializing while Fuel in materializing. <br>4) StOMP can serialize some objects (cannot right now BlockClosures or things like that), Fuel can (or should) be able to serialize all. <br>
<br>That&#39;s all I can see for the moment. But don&#39;t worry, there is no fight. We have been sending each other several mails this and the previous week and tried to shared knowledge between :)<br><br>Cheers<br><br><br>
 </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
Best regards<br>
Janko<br>
<br>
S, Masashi UMEZAWA piše:<br>
<div><div></div><div class="h5">&gt; Hello all,<br>
&gt;<br>
&gt; I have recently developed a new serialization library called<br>
&gt; StOMP(Smalltalk Objects on MessagePack).<br>
&gt; <a href="http://stomp.smalltalk-users.jp/" target="_blank">http://stomp.smalltalk-users.jp/</a><br>
&gt;<br>
&gt; StOMP is a binary serializer for major Smalltalk dialects. For those<br>
&gt; who know SIXX, StOMP can be seen as a binary SIXX. While SIXX<br>
&gt; represents object data as XML, StOMP uses MessagePack. By combining<br>
&gt; the flexibility of SIXX with the compactness of MessagePack, StOMP<br>
&gt; aims to be a unique, next-generation portable serializer for<br>
&gt; Smalltalk.<br>
&gt;<br>
&gt; Features:<br>
&gt; - Implementation is compact and portable<br>
&gt; - Shared/circular references support<br>
&gt; - &quot;Class shape changes&quot; support<br>
&gt; - Data is interchangable between Smalltalk dialects<br>
&gt; - Good performance for small sized object graph<br>
&gt;<br>
&gt; StOMP is now available for Squeak, Pharo, and VisualWorks.<br>
&gt;<br>
&gt; There is ConfigurationOfStOMP, so the installation is easy.<br>
&gt;<br>
&gt; Gofer new<br>
&gt;   squeaksource: &#39;MetacelloRepository&#39;;<br>
&gt;   package: &#39;ConfigurationOfStOMP&#39;;<br>
&gt;   load.<br>
&gt; (Smalltalk at: #ConfigurationOfStOMP) perform: #load.<br>
&gt;<br>
&gt; Enjoy!<br>
<br>
--<br>
</div></div><font color="#888888">Janko Mivšek<br>
Aida/Web<br>
Smalltalk Web Application Server<br>
<a href="http://www.aidaweb.si" target="_blank">http://www.aidaweb.si</a><br>
<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Mariano<br><a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br><br>