2021
DOI: 10.1051/epjconf/202125103002
|View full text |Cite
|
Sign up to set email alerts
|

AwkwardForth: accelerating Uproot with an internal DSL

Abstract: File formats for generic data structures, such as ROOT, Avro, and Parquet, pose a problem for deserialization: it must be fast, but its code depends on the type of the data structure, not known at compile-time. Just-in-time compilation can satisfy both constraints, but we propose a more portable solution: specialized virtual machines. AwkwardForth is a Forth-driven virtual machine for deserializing data into Awkward Arrays. As a language, it is not intended for humans to write, but it loosens the coupling betw… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
3
0

Year Published

2023
2023
2024
2024

Publication Types

Select...
1
1

Relationship

0
2

Authors

Journals

citations
Cited by 2 publications
(3 citation statements)
references
References 6 publications
(11 reference statements)
0
3
0
Order By: Relevance
“…Some high-level analysis is performed in Python, including the time offset calibration shown in figure 5 and the neutron efficiency calculations described in section 4. The Python packages we use most heavily are NumPy [15], SciPy [16], MatPlotLib [17], and upRoot [18]. Digital waveform processing is applied to pulses from both the PMT-based and SiPM-based detectors and are then organized by time and pixel number.…”
Section: Data Processing and Calibrationmentioning
confidence: 99%
“…Some high-level analysis is performed in Python, including the time offset calibration shown in figure 5 and the neutron efficiency calculations described in section 4. The Python packages we use most heavily are NumPy [15], SciPy [16], MatPlotLib [17], and upRoot [18]. Digital waveform processing is applied to pulses from both the PMT-based and SiPM-based detectors and are then organized by time and pixel number.…”
Section: Data Processing and Calibrationmentioning
confidence: 99%
“…AwkwardForth [4] is a DSL designed to satisfy the requirements listed in the last section. It is based on standard Forth with some additional built-in commands for parsing files.…”
Section: Awkwardforth Dslmentioning
confidence: 99%
“…Only a handful of libraries in Python allow users to read ROOT files, and only one allows them to do so without any compiled code dependency, that library is Uproot [2]. Uproot is a part of the Scikit-HEP ecosystem with a ROOT file reader implemented in pure Python.…”
Section: Introductionmentioning
confidence: 99%