Extend the Cppyy support in Numba

Description

Numba is a JIT compiler that translates a subset of Python and NumPy code into fast machine code. Cppyy is an automatic, run-time, Python-C++ bindings generator, for calling C++ from Python and Python from C++.

Cppyy has to pay a time penalty each time it needs to switch between languages which can multiply into large slowdowns when using loops with cppyy objects. This is where Numba can help. Since Numba compiles the code in loops into machine code it only has to cross the language barrier once and the loops thus run faster.

Initial support for Cppyy objects in Numba enabled the use of builtin types and classes (see cppyy docs), but some essential C++ features, such as references and STL classes, are not yet supported.

Project Milestones

Requirements

Mentors

Additional Information

Corresponding Project

Participating Organizations