Clustered serialization with fuel

  • Authors:
  • Martín Dias;Mariano Martinez Peck;Stéphane Ducasse;Gabriela Arévalo

  • Affiliations:
  • Inria Lille--Nord Europe/Université de Lille, and Universidad de Buenos Aires;Inria Lille--Nord Europe/Université de Lille, and Ecole des Mines de Douai;Inria Lille--Nord Europe/Université de Lille;Universidad Abierta Interamericana, and CONICET

  • Venue:
  • Proceedings of the International Workshop on Smalltalk Technologies
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Serializing object graphs is an important activity since objects should be stored and reloaded on different environments. There is a plethora of frameworks to serialize objects based on recursive parsing of the object graphs. However such approaches are often too slow. Most approaches are limited in their provided features. For example, several serializers do not support class shape changes, global references, transient references or hooks to execute something before or after being stored or loaded. Moreover, to be faster, some serializers are not written taking into account the object-oriented paradigm and they are sometimes even implemented in the Virtual Machine hampering code portability. VM-based serializers such as ImageSegment are difficult to understand, maintain, and fix. For the final user, it means a serializer which is difficult to customize, adapt or extend to his own needs. In this paper we present a general purpose object graph serializer based on a pickling format and algorithm. We implement and validate this approach in the Pharo Smalltalk environment. We demonstrate that we can build a really fast serializer without specific VM support, with a clean object-oriented design, and providing most possible required features for a serializer. We show that our approach is faster that traditional serializers and compare favorably with ImageSegment as soon as serialized objects are not in isolation.