Skip to content

Add support for numba models #1348

@juan-g-bonilla

Description

@juan-g-bonilla

C/C++ models are central to Basilisk due to their performance, but they introduce usability challenges. Developing or modifying these modules requires recompiling Basilisk, which creates a high barrier to entry. This is especially restrictive for users who install Basilisk via pip, since they may not have a configured development environment or access to the full source tree.

Python-based models mitigate these issues by allowing users to create and run modules without recompilation or direct interaction with the Basilisk source. However, this flexibility comes at a significant performance cost compared to C/C++ implementations.

[numba](https://numba.readthedocs.io/en/stable/user/overview.html) provides a potential middle ground. It is a Python package, installable via pip, that compiles a subset of Python code to optimized machine code with performance comparable to C. Leveraging Numba could enable a new class of Basilisk models that retain the rapid development and accessibility of Python while achieving near-native execution speed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions