Fuel : a fast general purpose object graph serializer

Autores
Días, Martín
Año de publicación
2012
Idioma
inglés
Tipo de recurso
tesis de grado
Estado
versión publicada
Colaborador/a o director/a de tesis
Ferro Basombrío, Carlos
Wilkinson, Hernán Alfredo
Descripción
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, which is often a too slow approach. 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 work 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 on 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 ones with special VM support. The extensibility of Fuel made it possible to successfully serialize various objects: classes in Newspeak, debugger stacks, and full CMS object graphs.
Fil: Días, Martín. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
Materia
OBJECT ORIENTED PROGRAMMING
SERIALIZATION
OBJECT GRAPHS
PICKLE FORMAT
SMALLTALK
Nivel de accesibilidad
acceso abierto
Condiciones de uso
https://creativecommons.org/licenses/by-nc-sa/2.5/ar
Repositorio
Biblioteca Digital (UBA-FCEN)
Institución
Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
OAI Identificador
seminario:seminario_nCOM000729_Dias

id BDUBAFCEN_c8144a12105113454784cced8aa14e29
oai_identifier_str seminario:seminario_nCOM000729_Dias
network_acronym_str BDUBAFCEN
repository_id_str 1896
network_name_str Biblioteca Digital (UBA-FCEN)
spelling Fuel : a fast general purpose object graph serializerDías, MartínOBJECT ORIENTED PROGRAMMINGSERIALIZATIONOBJECT GRAPHSPICKLE FORMATSMALLTALKSince 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, which is often a too slow approach. 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 work 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 on 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 ones with special VM support. The extensibility of Fuel made it possible to successfully serialize various objects: classes in Newspeak, debugger stacks, and full CMS object graphs.Fil: Días, Martín. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.Universidad de Buenos Aires. Facultad de Ciencias Exactas y NaturalesFerro Basombrío, CarlosWilkinson, Hernán Alfredo2012info:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_7a1finfo:ar-repo/semantics/tesisDeGradoapplication/pdfhttps://hdl.handle.net/20.500.12110/seminario_nCOM000729_Diasenginfo:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by-nc-sa/2.5/arreponame:Biblioteca Digital (UBA-FCEN)instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesinstacron:UBA-FCEN2025-09-29T13:43:40Zseminario:seminario_nCOM000729_DiasInstitucionalhttps://digital.bl.fcen.uba.ar/Universidad públicaNo correspondehttps://digital.bl.fcen.uba.ar/cgi-bin/oaiserver.cgiana@bl.fcen.uba.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:18962025-09-29 13:43:41.858Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesfalse
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
Días, Martín
OBJECT ORIENTED PROGRAMMING
SERIALIZATION
OBJECT GRAPHS
PICKLE FORMAT
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 Días, Martín
author Días, Martín
author_facet Días, Martín
author_role author
dc.contributor.none.fl_str_mv Ferro Basombrío, Carlos
Wilkinson, Hernán Alfredo
dc.subject.none.fl_str_mv OBJECT ORIENTED PROGRAMMING
SERIALIZATION
OBJECT GRAPHS
PICKLE FORMAT
SMALLTALK
topic OBJECT ORIENTED PROGRAMMING
SERIALIZATION
OBJECT GRAPHS
PICKLE FORMAT
SMALLTALK
dc.description.none.fl_txt_mv 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, which is often a too slow approach. 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 work 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 on 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 ones with special VM support. The extensibility of Fuel made it possible to successfully serialize various objects: classes in Newspeak, debugger stacks, and full CMS object graphs.
Fil: Días, Martín. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
description 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, which is often a too slow approach. 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 work 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 on 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 ones with special VM support. The extensibility of Fuel made it possible to successfully serialize various objects: classes in Newspeak, debugger stacks, and full CMS object graphs.
publishDate 2012
dc.date.none.fl_str_mv 2012
dc.type.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
info:eu-repo/semantics/publishedVersion
http://purl.org/coar/resource_type/c_7a1f
info:ar-repo/semantics/tesisDeGrado
format bachelorThesis
status_str publishedVersion
dc.identifier.none.fl_str_mv https://hdl.handle.net/20.500.12110/seminario_nCOM000729_Dias
url https://hdl.handle.net/20.500.12110/seminario_nCOM000729_Dias
dc.language.none.fl_str_mv eng
language eng
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
dc.publisher.none.fl_str_mv Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
publisher.none.fl_str_mv Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
dc.source.none.fl_str_mv reponame:Biblioteca Digital (UBA-FCEN)
instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
instacron:UBA-FCEN
reponame_str Biblioteca Digital (UBA-FCEN)
collection Biblioteca Digital (UBA-FCEN)
instname_str Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
instacron_str UBA-FCEN
institution UBA-FCEN
repository.name.fl_str_mv Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
repository.mail.fl_str_mv ana@bl.fcen.uba.ar
_version_ 1844618757892210688
score 13.070432