Numba still only compiles individual functions which is a design decision and not a limitation. Actually it can even lead to higher performance as the compilation happens during runtime, where the compiler might have access to more information and can therefore better optimize the machine code. Numba still and will always just support a subset of python, just like numpy does. It is simply impossible to efficiently put different types into the same array that you want to do operations on. Numba still only supports a subset of Numpy, although it's probably all you're ever gonna need. I recently had to replace numpy.tile but it was a 2 minute thing. Unfortunately numba still doesn't support pandas & co
It doesnt talk about eager compilation much in numba documetation. I wonder what would be the type annotation for something like this some_func(mass_map: ndarray, motion_map: ndarray) -> ndarray for example
Great talk! Also great that it gives some background on how Numba works apart from just its usage.
Great talk. Thank you!
now in 2022, 3 years later, how much have this changed?@7:30
Numba still only compiles individual functions which is a design decision and not a limitation. Actually it can even lead to higher performance as the compilation happens during runtime, where the compiler might have access to more information and can therefore better optimize the machine code.
Numba still and will always just support a subset of python, just like numpy does. It is simply impossible to efficiently put different types into the same array that you want to do operations on.
Numba still only supports a subset of Numpy, although it's probably all you're ever gonna need. I recently had to replace numpy.tile but it was a 2 minute thing. Unfortunately numba still doesn't support pandas & co
It doesnt talk about eager compilation much in numba documetation. I wonder what would be the type annotation for something like this
some_func(mass_map: ndarray, motion_map: ndarray) -> ndarray for example
make this faster
buff = "String" * 1000000
result = 0
for x in buff:
result += ord(x)