>
>>
>> Alexandre
>>
>>
>> On 8 Dec 2010, at 13:50, Martin Dias wrote:
>>
>>> Hi all
>>>
>>> Last months I and Tristan have been working on Fuel project, an object
>>> binary serialization tool. The idea is that objects are much more
>>> times loaded than stored, therefore it is worth to spend time while
>>> storing in order to have faster loading and user experience. We
>>> present an implementation of a pickle format that is based on
>>> clustering similar objects.
>>>
>>> There is a summary of the project below, but more complete information
>>> is available here:
http://rmod.lille.inria.fr/web/pier/software/Fuel
>>>
>>> The implementation still needs a lot of work to be really useful,
>>> optimizations should be done, but we'll be glad to get feedback of the
>>> community.
>>>
>>>
>>> = Pickle format =
>>>
>>> The pickle format and the serialization algorithm main idea, is
>>> explained in this slides:
>>>
>>>
http://www.slideshare.net/tinchodias/fuel-serialization-in-an-example
>>>
>>>
>>> = Current features =
>>>
>>> - Class shape changing (when a variable has been added, or removed, or
>>> its index changed)
>>> - Serialize most of the basic objects.
>>> - Serialize (almost) any CompiledMethod
>>> - Detection of global or class variables
>>> - Support for cyclic object graphs
>>> - Tests
>>>
>>>
>>> = Next steps =
>>>
>>> - Improve version checking.
>>> - Optimize performance.
>>> - Serialize more kinds of objects:
>>> -- Class with its complete description.
>>> -- Method contexts
>>> -- Active block closures
>>> -- Continuation
>>> - Some improvements for the user:
>>> -- pre and post actions to be executed.
>>> -- easily say 'this object is singleton'.
>>> - Partial loading of a stored graph.
>>> - Fast statistics/brief info extraction of a stored graph.
>>> - ConfigurationOfFuel.
>>> - Be able to deploy materialization behavior only (independent from
>>> the serialization behavior)
>>>
>>>
>>> = Download =
>>>
>>> In a Pharo 1.1 or 1.1.1 evaluate:
>>>
>>> Gofer new
>>> � � squeaksource: 'Fuel';
>>> � � version: 'Fuel-MartinDias.74';
>>> � � version: 'FuelBenchmarks-MartinDias.4';
>>> � � load.
>>>
>>>
>>> = Benchmarks =
>>>
>>> You can run benchmarks executing this line (results in Transcript):
>>>
>>> FLBenchmarks newBasic run.
>>>
>>>
>>> Thank you!
>>> Martin Dias
>>>
>>
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel �
http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>>
>>
>
>
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel �
http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.