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
- Institución
- Consejo Nacional de Investigaciones Científicas y Técnicas
- OAI Identificador
- oai:ri.conicet.gov.ar:11336/189310
Ver los metadatos del registro completo
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 |