Publication | Closed Access
Numba
1.4K
Citations
7
References
2015
Year
Unknown Venue
EngineeringCompiler TechnologyTraditional Compiled LanguageComputer ArchitectureSoftware EngineeringJit CompilerInterpreter (Computing)Software AnalysisData ScienceParallel ComputingCompilersDynamic CompilationCompiler SupportComputer EngineeringProgramming Language ImplementationComputer ScienceComputational ScienceEfficient Machine CodeProgram AnalysisFormal MethodsParallel Programming
Dynamic interpreted languages such as Python are attractive for domain experts, but interpreter performance often limits scaling to larger data sets. The paper introduces a just‑in‑time compiler for Python aimed at scientific and array‑oriented computing. Numba compiles a subset of Python syntax into efficient machine code using LLVM, achieving performance comparable to compiled languages. The authors report building the JIT compiler with LLVM and share their experience.
Dynamic, interpreted languages, like Python, are attractive for domain-experts and scientists experimenting with new ideas. However, the performance of the interpreter is often a barrier when scaling to larger data sets. This paper presents a just-in-time compiler for Python that focuses in scientific and array-oriented computing. Starting with the simple syntax of Python, Numba compiles a subset of the language into efficient machine code that is comparable in performance to a traditional compiled language. In addition, we share our experience in building a JIT compiler using LLVM[1].
| Year | Citations | |
|---|---|---|
Page 1
Page 1