Developing a High-Performance Process Mining Library with Java and Python Bindings in Rust

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Küsters, Aaron, van der Aalst, Wil M. P.
Format: Preprint
Veröffentlicht: 2024
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866913209183633408
author Küsters, Aaron
van der Aalst, Wil M. P.
author_facet Küsters, Aaron
van der Aalst, Wil M. P.
contents The most commonly used open-source process mining software tools today are ProM and PM4Py, written in Java and Python, respectively. Such high-level, often interpreted, programming languages trade off performance with memory safety and ease-of-use. In contrast, traditional compiled languages, like C or C++, can achieve top performance but often suffer from instability related to unsafe memory management. Lately, Rust emerged as a highly performant, compiled programming language with inherent memory safety. In this paper, we describe our approach to developing a shared process mining library in Rust with bindings to both Java and Python, allowing full integration into the existing ecosystems, like ProM and PM4Py. By facilitating interoperability, our methodology enables researchers or industry to develop novel algorithms in Rust once and make them accessible to the entire community while also achieving superior performance.
format Preprint
id arxiv_https___arxiv_org_abs_2401_14149
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Developing a High-Performance Process Mining Library with Java and Python Bindings in Rust
Küsters, Aaron
van der Aalst, Wil M. P.
Software Engineering
The most commonly used open-source process mining software tools today are ProM and PM4Py, written in Java and Python, respectively. Such high-level, often interpreted, programming languages trade off performance with memory safety and ease-of-use. In contrast, traditional compiled languages, like C or C++, can achieve top performance but often suffer from instability related to unsafe memory management. Lately, Rust emerged as a highly performant, compiled programming language with inherent memory safety. In this paper, we describe our approach to developing a shared process mining library in Rust with bindings to both Java and Python, allowing full integration into the existing ecosystems, like ProM and PM4Py. By facilitating interoperability, our methodology enables researchers or industry to develop novel algorithms in Rust once and make them accessible to the entire community while also achieving superior performance.
title Developing a High-Performance Process Mining Library with Java and Python Bindings in Rust
topic Software Engineering
url https://arxiv.org/abs/2401.14149