On Wed, Jan 5, 2011 at 11:15 AM, Simon Denier <simon.denier(a)gmail.com>wrote;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(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
Simon Denier
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev