On Wed, Jan 5, 2011 at 11:15 AM, Simon Denier <simon.denier@gmail.com> wrote:
Hi Martin

The charts display many interesting features, and raise some questions :)

Do you have an idea about the drops observed at the 100,000 entities x-point? And why the MSE file size grows so sharply after that?
Which Moose models did you use to test?

Another topic: is it possible to 'shape' the instances when serializing them so that only the necessary data get exported. In other words, can we declare some fields as 'transient' so that Fuel does not need to traverse them. I'm thinking that all Moose entities have a cache: this cache does not need to be stored.


I don't know if it is possible in Fuel, but others serializers outside Smalltalk does that. We can do it at class level or at instance level. I think Fuel can provide that classes implement a class side method  #isFuelSerializable

The we can implement:

Object >> isFuelSerializable
^ true

And override for those classes that are yet not supported by Fuel, suppose, Class. THen:

Class >> isFuelSerializable
^ false

Notice that this is not a programmer choice, but Fuel limitations/decisions. If you try to serialize an instance of any of those classes, you should rise NotSerializableError or something like that.

At the same time, we can provide a feature so users can provide what to serialize. Fuel can implement the default:

Object >> isFuelTransient
^ false

and for those particular classes that you DO NOT want to seriaize, you can implement this way:

MyClass >> isFuelTransient
^ true

That's at class level. Going to instance level is a little complicated since we don't have the kind of Java definition. But we can implement a class side message that answers the name of the instVa that should be transient. Example:

Object >> fuelTransientInstanceVariables
^ ()


MyOtherClas >> fuelTransientInstanceVariables
^ ( 'name' 'age')

blah....

or something like that. What I think it is important is being able to mark transient stuff and non-serializable stuff too.
 
Cheers

Mariano


On 4 janv. 2011, at 14:53, Martin Dias wrote:

> Hi
>
> I have been working in a object serialization framework last months,
> called Fuel. And in order to test it in a real case, I made a package
> that adds new import and export commands to Moose panel.
>
> Fuel and this Moose extension still need a lot of work on
> functionalities and performance optimizations.
>
> The idea was to imitate the export/import MSE capabilities, and at
> least in the basic cases I tried, it imitates well, but I have not too
> much experience with Moose, so it would be nice to have feedback of
> more experienced users, and to know if it could be useful or not.
>
> I have tried in Moose 4.1 release and Moose 4.3 build #77 from
> http://hudson.moosetechnology.org/job/moose-latest-dev/
>
>
> More information at the end of this website:
>
> http://rmod.lille.inria.fr/web/pier/software/Fuel
>
>
> To install:
>
> Gofer new
>       squeaksource: 'Fuel';
>       version: 'Fuel-MartinDias.78';
>       version: 'FuelFameExtension-MartinDias.21';
>       load.
>
>
> Cheers!
> Martin
> _______________________________________________
> Moose-dev mailing list
> Moose-dev@iam.unibe.ch
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
Simon Denier




_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev