-
ndarray_comparison
Benchmark of toy calculation on an n-dimensional array using python, numba, cython, pythran and rust
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Numba fits very few usecases, but where it does fit it's awesome.
I've been using it in a python graph library to write graph traversal routines and it's done me very well: https://github.com/VHRanger/nodevectors
The best part is the native openMP support on for loops IMO. Makes parallelism in data work very efficient compared to python alternatives that use processes (instead of threads)
I use numba quite a bit at work and it's fantastic. I recently, however, did a comparison between numba, cython, pythran and rust (ndarray) for a toy problem, and it yielded some interesting results:
https://github.com/synapticarbors/ndarray_comparison/blob/ma...
Most surprising among them was how fast pythran was with little more effort than is required of numba (still required an aot compilation step with a setup.py, but minimal changes in the code). All of the usual caveats should be applied to a simple benchmark like this.
For the reference - here it is the repo https://github.com/numba/numba
We used numba to accelerate the code and most importantly write GPU kernels for the heavy parts. I remember spending hours optimising my code to eek out the most performance possible (which eventually meant using atomics and manually unrolling many loops because somehow this was giving us the best performance) but honestly I was really happy that I didn't need to write cuda kernels in C and generally it was pretty easy to work with. I remember back then the documentation was sometimes a little rough around the edges but the numba team was incredibly helpful and responsive. Overall I had a great time.
[0] https://github.com/fbpic/fbpic
Related posts
-
Guido van Rossum on types, speed, and the future of Python
-
I'm learning Python for work. Thought it would be fun to revisit my undergrad days, so I coded this three-body simulation.
-
Why is Python so used in the machine learning?
-
Learned about a new Python Library: Numba
-
Unifying the CUDA Python Ecosystem