Fuel: A fast general purpose object graph serializer

Autores
Dias, Martín; Martinez Peck, Mariano; Ducasse, Stéphane; Arevalo, Gabriela Beatriz
Año de publicación
2012
Idioma
inglés
Tipo de recurso
artículo
Estado
versión publicada
Descripción
Because 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 such as 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; and (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 content management system object graphs.
Fil: Dias, Martín. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Departamento de Computación; Argentina
Fil: Martinez Peck, Mariano. Institut National de Recherche en Informatique et en Automatique; Francia
Fil: Ducasse, Stéphane. Institut National de Recherche en Informatique et en Automatique; Francia
Fil: Arevalo, Gabriela Beatriz. Universidad Abierta Interamericana. Facultad de Tecnología Informatica. Departamento de Sistemas de Computación. Cent.de Altos Estudios En Tecnología Informatica; Argentina. Consejo Nacional de Investigaciones Científicas y Técnicas; Argentina
Materia
OBJECT GRAPHS
OBJECT-ORIENTED PROGRAMMING
PICKLE FORMAT
SERIALIZATION
SMALLTALK
Nivel de accesibilidad
acceso abierto
Condiciones de uso
https://creativecommons.org/licenses/by-nc-sa/2.5/ar/
Repositorio
CONICET Digital (CONICET)
Institución
Consejo Nacional de Investigaciones Científicas y Técnicas
OAI Identificador
oai:ri.conicet.gov.ar:11336/189310

id CONICETDig_4edafdfe26a93eaa0df159d87d9ad40a
oai_identifier_str oai:ri.conicet.gov.ar:11336/189310
network_acronym_str CONICETDig
repository_id_str 3498
network_name_str CONICET Digital (CONICET)
spelling Fuel: A fast general purpose object graph serializerDias, MartínMartinez Peck, MarianoDucasse, StéphaneArevalo, Gabriela BeatrizOBJECT GRAPHSOBJECT-ORIENTED PROGRAMMINGPICKLE FORMATSERIALIZATIONSMALLTALKhttps://purl.org/becyt/ford/1.2https://purl.org/becyt/ford/1Because 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 such as 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; and (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 content management system object graphs.Fil: Dias, Martín. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Departamento de Computación; ArgentinaFil: Martinez Peck, Mariano. Institut National de Recherche en Informatique et en Automatique; FranciaFil: Ducasse, Stéphane. Institut National de Recherche en Informatique et en Automatique; FranciaFil: Arevalo, Gabriela Beatriz. Universidad Abierta Interamericana. Facultad de Tecnología Informatica. Departamento de Sistemas de Computación. Cent.de Altos Estudios En Tecnología Informatica; Argentina. Consejo Nacional de Investigaciones Científicas y Técnicas; ArgentinaJohn Wiley & Sons Ltd2012-11info:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_6501info:ar-repo/semantics/articuloapplication/pdfapplication/pdfhttp://hdl.handle.net/11336/189310Dias, Martín; Martinez Peck, Mariano; Ducasse, Stéphane; Arevalo, Gabriela Beatriz; Fuel: A fast general purpose object graph serializer; John Wiley & Sons Ltd; Software: Practice And Experience; 44; 4; 11-2012; 433-4530038-0644CONICET DigitalCONICETenginfo:eu-repo/semantics/altIdentifier/url/https://onlinelibrary.wiley.com/doi/full/10.1002/spe.2136info:eu-repo/semantics/altIdentifier/doi/10.1002/spe.2136info:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by-nc-sa/2.5/ar/reponame:CONICET Digital (CONICET)instname:Consejo Nacional de Investigaciones Científicas y Técnicas2025-09-29T09:40:18Zoai:ri.conicet.gov.ar:11336/189310instacron:CONICETInstitucionalhttp://ri.conicet.gov.ar/Organismo científico-tecnológicoNo correspondehttp://ri.conicet.gov.ar/oai/requestdasensio@conicet.gov.ar; lcarlino@conicet.gov.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:34982025-09-29 09:40:18.332CONICET Digital (CONICET) - Consejo Nacional de Investigaciones Científicas y Técnicasfalse
dc.title.none.fl_str_mv Fuel: A fast general purpose object graph serializer
title Fuel: A fast general purpose object graph serializer
spellingShingle Fuel: A fast general purpose object graph serializer
Dias, Martín
OBJECT GRAPHS
OBJECT-ORIENTED PROGRAMMING
PICKLE FORMAT
SERIALIZATION
SMALLTALK
title_short Fuel: A fast general purpose object graph serializer
title_full Fuel: A fast general purpose object graph serializer
title_fullStr Fuel: A fast general purpose object graph serializer
title_full_unstemmed Fuel: A fast general purpose object graph serializer
title_sort Fuel: A fast general purpose object graph serializer
dc.creator.none.fl_str_mv Dias, Martín
Martinez Peck, Mariano
Ducasse, Stéphane
Arevalo, Gabriela Beatriz
author Dias, Martín
author_facet Dias, Martín
Martinez Peck, Mariano
Ducasse, Stéphane
Arevalo, Gabriela Beatriz
author_role author
author2 Martinez Peck, Mariano
Ducasse, Stéphane
Arevalo, Gabriela Beatriz
author2_role author
author
author
dc.subject.none.fl_str_mv OBJECT GRAPHS
OBJECT-ORIENTED PROGRAMMING
PICKLE FORMAT
SERIALIZATION
SMALLTALK
topic OBJECT GRAPHS
OBJECT-ORIENTED PROGRAMMING
PICKLE FORMAT
SERIALIZATION
SMALLTALK
purl_subject.fl_str_mv https://purl.org/becyt/ford/1.2
https://purl.org/becyt/ford/1
dc.description.none.fl_txt_mv Because 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 such as 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; and (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 content management system object graphs.
Fil: Dias, Martín. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Departamento de Computación; Argentina
Fil: Martinez Peck, Mariano. Institut National de Recherche en Informatique et en Automatique; Francia
Fil: Ducasse, Stéphane. Institut National de Recherche en Informatique et en Automatique; Francia
Fil: Arevalo, Gabriela Beatriz. Universidad Abierta Interamericana. Facultad de Tecnología Informatica. Departamento de Sistemas de Computación. Cent.de Altos Estudios En Tecnología Informatica; Argentina. Consejo Nacional de Investigaciones Científicas y Técnicas; Argentina
description Because 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 such as 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; and (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 content management system object graphs.
publishDate 2012
dc.date.none.fl_str_mv 2012-11
dc.type.none.fl_str_mv info:eu-repo/semantics/article
info:eu-repo/semantics/publishedVersion
http://purl.org/coar/resource_type/c_6501
info:ar-repo/semantics/articulo
format article
status_str publishedVersion
dc.identifier.none.fl_str_mv http://hdl.handle.net/11336/189310
Dias, Martín; Martinez Peck, Mariano; Ducasse, Stéphane; Arevalo, Gabriela Beatriz; Fuel: A fast general purpose object graph serializer; John Wiley & Sons Ltd; Software: Practice And Experience; 44; 4; 11-2012; 433-453
0038-0644
CONICET Digital
CONICET
url http://hdl.handle.net/11336/189310
identifier_str_mv Dias, Martín; Martinez Peck, Mariano; Ducasse, Stéphane; Arevalo, Gabriela Beatriz; Fuel: A fast general purpose object graph serializer; John Wiley & Sons Ltd; Software: Practice And Experience; 44; 4; 11-2012; 433-453
0038-0644
CONICET Digital
CONICET
dc.language.none.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv info:eu-repo/semantics/altIdentifier/url/https://onlinelibrary.wiley.com/doi/full/10.1002/spe.2136
info:eu-repo/semantics/altIdentifier/doi/10.1002/spe.2136
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
https://creativecommons.org/licenses/by-nc-sa/2.5/ar/
eu_rights_str_mv openAccess
rights_invalid_str_mv https://creativecommons.org/licenses/by-nc-sa/2.5/ar/
dc.format.none.fl_str_mv application/pdf
application/pdf
dc.publisher.none.fl_str_mv John Wiley & Sons Ltd
publisher.none.fl_str_mv John Wiley & Sons Ltd
dc.source.none.fl_str_mv reponame:CONICET Digital (CONICET)
instname:Consejo Nacional de Investigaciones Científicas y Técnicas
reponame_str CONICET Digital (CONICET)
collection CONICET Digital (CONICET)
instname_str Consejo Nacional de Investigaciones Científicas y Técnicas
repository.name.fl_str_mv CONICET Digital (CONICET) - Consejo Nacional de Investigaciones Científicas y Técnicas
repository.mail.fl_str_mv dasensio@conicet.gov.ar; lcarlino@conicet.gov.ar
_version_ 1844613275198685184
score 13.070432