Automated code generation for fast data serialization in Python
Automatické generování kódu pro rychlou serializaci dat v jazyce Python
bachelor thesis (DEFENDED)

View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/127967Identifiers
Study Information System: 230809
Collections
- Kvalifikační práce [11322]
Author
Advisor
Referee
Kofroň, Jan
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
General Computer Science
Department
Department of Distributed and Dependable Systems
Date of defense
2. 7. 2021
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Excellent
Keywords (Czech)
serializace Python Avro Apache rychláKeywords (English)
serialization Python Avro Apache fastSerializace dat většinou nebývá nejslabším článkem moderních aplikací. Programovací jazyk Python však nabírá na popularitě a s tím rostou nároky na jeho rychlost. Vzhledem k tomu, že serializace dat v Pythonu je ve srovnání s ostatními jazyky mnohem pomalejší, vzniká poptávka po rychlejší Avro serializační knihovně. V této práci jsme představili Python knihovnu pro Avro serializaci založenou na automatickém generování kódu. Tato knihovna dosahuje rychlostí 1,5 až 3,5 krát vyšších než nejrychlejší dostupná alternativa. Řešení je dostupné pod jménem Cerializer. 1
Data serialization is not often a bottleneck for modern applications. However, with the rising popularity of Python and constantly increasing requirements for speed, a faster Avro serialization library was necessary. We developed a solution for Avro serialization in Python that uses automatically generated code and speeds the process of serialization 1.5 to 3.5 times compared to the fastest available alternative. The solution is available in the form of a Python library under the name Cerializer. 1