[squeak-dev] Re: [ANN] StOMP - Yet another multi-dialect object serializer

Mariano Martinez Peck marianopeck at gmail.com
Mon Jun 20 12:54:02 UTC 2011


2011/6/20 Janko Mivšek <janko.mivsek at eranova.si>

> Hi Masashi,
>
> Now we have a competition, Fuel vs. StOMP :) Big advantage of StOMP is
> that it is portable and already ported to VW. Which are other
> advantages? Disadvantages?
>
> Also question for Fuel developers, do you plan to port it to other
> Smalltalks too? Portability is namelly something which is very high on
> checking list for a serializer to use in portable projects, like most of
> web ones are.
>

Hi Janko. I think "portability" 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) ).

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:
- 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.
- 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't care. We will go ahead with that.

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.


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:

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.
2) StOMP is faster in serializing small/medium graphs. Fuel is faster in
large graphs.
3) StOMP is faster in serializing while Fuel in materializing.
4) StOMP can serialize some objects (cannot right now BlockClosures or
things like that), Fuel can (or should) be able to serialize all.

That's all I can see for the moment. But don'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 :)

Cheers




>
> Best regards
> Janko
>
> S, Masashi UMEZAWA piše:
> > Hello all,
> >
> > I have recently developed a new serialization library called
> > StOMP(Smalltalk Objects on MessagePack).
> > http://stomp.smalltalk-users.jp/
> >
> > StOMP is a binary serializer for major Smalltalk dialects. For those
> > who know SIXX, StOMP can be seen as a binary SIXX. While SIXX
> > represents object data as XML, StOMP uses MessagePack. By combining
> > the flexibility of SIXX with the compactness of MessagePack, StOMP
> > aims to be a unique, next-generation portable serializer for
> > Smalltalk.
> >
> > Features:
> > - Implementation is compact and portable
> > - Shared/circular references support
> > - "Class shape changes" support
> > - Data is interchangable between Smalltalk dialects
> > - Good performance for small sized object graph
> >
> > StOMP is now available for Squeak, Pharo, and VisualWorks.
> >
> > There is ConfigurationOfStOMP, so the installation is easy.
> >
> > Gofer new
> >   squeaksource: 'MetacelloRepository';
> >   package: 'ConfigurationOfStOMP';
> >   load.
> > (Smalltalk at: #ConfigurationOfStOMP) perform: #load.
> >
> > Enjoy!
>
> --
> Janko Mivšek
> Aida/Web
> Smalltalk Web Application Server
> http://www.aidaweb.si
>
>


-- 
Mariano
http://marianopeck.wordpress.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20110620/4858fd15/attachment.htm


More information about the Squeak-dev mailing list