Comparing a Rust extension to other methods of speeding up python

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/Python

Our great sponsors
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • Scout APM - Less time debugging, more time building
  • SaaSHub - Software Alternatives and Reviews
  • ndarray_comparison

    Benchmark of toy calculation on an n-dimensional array using python, numba, cython, pythran and rust

  • nimpy

    Nim - Python bridge

    nimpy + nimporter is getting fairly mature. I've had my eye on the libraries for awhile now and I'm starting to seriously consider adding Nim to the build pipeline at werk.

  • SonarLint

    Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.

  • nimporter

    Compile Nim Extensions for Python On Import!

    nimpy + nimporter is getting fairly mature. I've had my eye on the libraries for awhile now and I'm starting to seriously consider adding Nim to the build pipeline at werk.

  • scinim

    The core types and functions of the SciNim ecosystem

    I have never tried nim, but according to nimpy's README, it looks like you can work with Numpy arrays via the buffer protocol or scinim. I'd be curious to see how it performs.

  • OpticsPolynomials.jl

    Polynomials used in optics. Zernike, Legendre, etc

    I gave Julia a rather serious try, converting the world's fastest numerical optics library to the language. It ended up being mildly faster (2-3x) for some things, but overall programs did not run meaningfully faster (and significantly slower when comparing jl to python on GPU -- I would have to write specializations of all the functions for GPU, which is a horrific prospect).

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts