With numba it can be even more dramatic. Zero code changes, solely type annotation in the decorator, and you can often get 1000x speedup over pure Python, because numba can optimize away many of the extra CPython data model features that tight loop code may occasionally not need to use.
Same with Numba, despite its promises, I've never seen anything close to 100x speedups in the real world, and I've even seen a fair few cases where numba resulted in slower code compared to 'pure' python/numpy (although admittedly that was 2-3 years ago)
Sure I could probably design some pathological code where you might see 100x speed up by just adding type annotations, but that would probably require starting with some really inefficient python code.
Thankfully you don’t have to rely on me - tons of name brand Python scientific tools use Cython for speedups.
Pandas, for example, uses Cython heavily. Here is an example tutorial that may help you,
https://pandas.pydata.org/pandas-docs/stable/user_guide/enha...