Fuel: A Fast General Purpose Object Graph Serializer

Abstract : Since objects need to be stored and reloaded on different environments, serializing object graphs is a very important activity. There is a plethora of serialization frameworks with different requirements and design trade-offs. Most of them are based on recursive parsing of the object graphs, an approach which often is too slow. In addition, most of them prioritize a language-agnostic format instead of speed and language-specific object serialization. For the same reason, such serializers usually do not support features like class-shape changes, global references or executing pre and post load actions. Looking for speed, some frameworks are partially implemented at Virtual Machine (VM) level, hampering code portability and making them difficult to understand, maintain and extend. In this paper we present Fuel, a general-purpose object serializer based on these principles: (1) speed, through a compact binary format and a pickling algorithm which invests time in serialization for obtaining the best performance on materialization; (2) good object-oriented design, without special help at VM; (3) serialize any object, thus have a full-featured language-specific format. We implement and validate this approach in Pharo, where we demonstrate that Fuel is faster than other serializers, even those with special VM support. The extensibility of Fuel made possible to successfully serialize various objects: classes in Newspeak, debugger stacks, and full CMS object graphs.
Type de document :
Article dans une revue
Software: Practice and Experience, Wiley, 2012
Liste complète des métadonnées

Littérature citée [18 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/hal-00703574
Contributeur : Lse Lse <>
Soumis le : dimanche 3 juin 2012 - 20:02:06
Dernière modification le : jeudi 11 janvier 2018 - 06:22:25
Document(s) archivé(s) le : vendredi 30 novembre 2012 - 13:10:35

Fichier

Dias12a-SPE-Fuel.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : hal-00703574, version 1

Citation

Martín Dias, Mariano Martinez Peck, Stéphane Ducasse, Gabriela Arévalo. Fuel: A Fast General Purpose Object Graph Serializer. Software: Practice and Experience, Wiley, 2012. 〈hal-00703574〉

Partager

Métriques

Consultations de la notice

330

Téléchargements de fichiers

258