{"slug": "numba", "name": "Numba", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 5, "commenters": 14, "warners": 1, "score": 5.571, "rising": 2.35, "first": "2025-11-22", "latest": "2026-10-28", "why": "Numba is a little magic because you get to write stuff that feels like numpy, but get literal bytecode perf.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 5, "neutral": 5, "compare": 3, "warn": 1}, "spark": [0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 1], "listed": true, "loved": [], "caveat": "", "short_quote": "Numba is a little magic because you get to write stuff that feels like numpy, but get literal bytecode perf.", "kind": "", "icon": false, "domain": "pydata.org", "github_repo": null, "official_url": "https://numba.pydata.org", "pricing": "", "aliases": ["Numba", "numba"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 804511984, "item_id": 50281999, "url": "https://news.ycombinator.com/item?id=50281999", "by": "strenholme", "date": "2026-10-28", "version": null, "stance": "recommend", "quote": "I agree Numba is great.", "excerpt": "I agree Numba is great. The reason I stay clear of Python is because the Python2 \u2192 Python3 transition burned me; the bureaucrats at Debian decided that, since my open source project had one Python2 script in it I wrote many years ago, I had to update my code to make that script a Python3 script. A very toxic and arrogant attitude; old versions of languages should not be killed like that when there is so much code wri", "context": "", "use_case": "Numeric code acceleration", "switched_from": "", "story": "Python's experimental JIT to be removed"}, {"id": 789075696, "item_id": 49317231, "url": "https://news.ycombinator.com/item?id=49317231", "by": "momojo", "date": "2026-08-15", "version": null, "stance": "recommend", "quote": "Numba is a little magic because you get to write stuff that feels like numpy, but get literal bytecode perf.", "excerpt": "This is awesome! For those here not familiar with Numba, it helps bridge that performance vs ergonomics tradeoff that's always existed when you reach for python over a lower level but faster lang like C or C++. Sure you could write Cython but then you have to have a build step and make wheels for every platform you and python version. Sure numpy has gotten faster over the years but you're still hampered by the GIL. N", "context": "", "use_case": "JIT-compiling numeric Python", "switched_from": "", "story": "Numba in the Browser: Unlocking a New Scientific Python Stack in JupyterLite"}, {"id": 788327409, "item_id": 49270463, "url": "https://news.ycombinator.com/item?id=49270463", "by": "Alexander-Barth", "date": "2026-08-12", "version": null, "stance": "recommend", "quote": "numba (https://numba.pydata.org/)", "excerpt": "Julia is actually quite nice for this. If you prefer a python-like approach consider Triton from openai, numba (https://numba.pydata.org/) or CuTe DSL from Nvidia.", "context": "", "use_case": "Python JIT compilation", "switched_from": "", "story": "Mojo 1.0 Is Here"}, {"id": 774856544, "item_id": 48428534, "url": "https://news.ycombinator.com/item?id=48428534", "by": "jbvlkt", "date": "2026-06-06", "version": null, "stance": "recommend", "quote": "you can use projects like numba", "excerpt": "Also you can use projects like numba https://numba.pydata.org/", "context": "", "use_case": "Speed up CPU-bound Python", "switched_from": "", "story": "Python JIT project was asked to pause development"}, {"id": 740480192, "item_id": 46280012, "url": "https://news.ycombinator.com/item?id=46280012", "by": "drnick1", "date": "2025-12-15", "version": null, "stance": "recommend", "quote": "but for that you have Numba.", "excerpt": "I don't think Julia really solves any problems that aren't already solved by Python. Python is sometimes slower (hot loops), but for that you have Numba. And if something is truly performance critical, it should be written or rewritten in C++ anyway. But Julia also introduces new problems, such as JIT warmup (so it's not really suitable for scripting) and is still not considered trustworthy: https://yuri.is/not-julia", "context": "", "use_case": "Speeding up Python hot loops", "switched_from": "", "story": "In Defense of Matlab Code"}]}], "caveats": [], "who": [{"by": "OGsus", "context": "built a stability/drift API", "url": "https://news.ycombinator.com/item?id=46704315", "date": "2026-01-21"}], "tags": [], "use_cases": ["numeric code acceleration", "jit-compiling numeric python", "python jit compilation", "speed up cpu-bound python", "statistical computation backend", "speeding up python hot loops"], "compared": [{"slug": "numpy", "name": "NumPy", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=47123633", "title": "Julia: Performance Tips", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=50257419", "title": "Python's experimental JIT to be removed", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49526210", "title": "Working to Make Python Lazy", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49522896", "title": "Ask HN: Who wants to be hired? (September 2026)", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49269451", "title": "Numba in the Browser: Unlocking a New Scientific Python Stack in JupyterLite", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49261128", "title": "Mojo 1.0 Is Here", "mentions": 1}], "sentiment_by_month": {"2025-11": {"neutral": 1}, "2025-12": {"recommend": 1}, "2026-01": {"neutral": 2}, "2026-02": {"compare": 3}, "2026-03": {}, "2026-04": {}, "2026-05": {"warn": 1}, "2026-06": {"recommend": 1}, "2026-07": {}, "2026-08": {"recommend": 2}, "2026-09": {"neutral": 2}, "2026-10": {"recommend": 1}}, "versions": [], "version_unnamed": 0, "family_ref": null, "runs_on": null, "lines": [], "quotes": [{"id": 804511984, "item_id": 50281999, "url": "https://news.ycombinator.com/item?id=50281999", "by": "strenholme", "date": "2026-10-28", "version": null, "stance": "recommend", "quote": "I agree Numba is great.", "excerpt": "I agree Numba is great. The reason I stay clear of Python is because the Python2 \u2192 Python3 transition burned me; the bureaucrats at Debian decided that, since my open source project had one Python2 script in it I wrote many years ago, I had to update my code to make that script a Python3 script. A very toxic and arrogant attitude; old versions of languages should not be killed like that when there is so much code wri", "context": "", "use_case": "Numeric code acceleration", "switched_from": "", "story": "Python's experimental JIT to be removed"}, {"id": 793175568, "item_id": 49573473, "url": "https://news.ycombinator.com/item?id=49573473", "by": "rtpg", "date": "2026-09-05", "version": null, "stance": "neutral", "quote": "numba._version only imports standard library stuff", "excerpt": "Yep it's not clear, and a bit of a case-by-case thing. Fortunately most codebases only need to do this in a handful of spots so you can really \"just\" look at a package and find a file that probably is safe. For example, numba._version only imports standard library stuff so is probably good enough here[0] It would be nice to have general querying capabilities here, of course. I just think that in practice there's at l", "context": "", "use_case": "", "switched_from": "", "story": "Working to Make Python Lazy"}, {"id": 792371302, "item_id": 49523206, "url": "https://news.ycombinator.com/item?id=49523206", "by": "varun636", "date": "2026-09-01", "version": null, "stance": "neutral", "quote": "Releases the GIL via Numba (nogil=True)", "excerpt": "Location: Vijayawada, India Remote: Yes (2pm-11pm IST \u2014 full EU hours + US-East mornings) Willing to relocate: Yes Available: Remote immediately, on-site from Dec 2026 \u2014 final-year B.Tech CS, MNNIT Allahabad Technologies: Python, C/C++, Docker SDK (sandboxing, cgroups), LangGraph, FastAPI, WebSockets, Numba, SQLite (WAL), Linux Resume: https://drive.google.com/file/d/1XXZ-d2hf8wEJYx0O-kX310qkeHrfYsR6/view?usp=sharing", "context": "", "use_case": "", "switched_from": "", "story": "Ask HN: Who wants to be hired? (September 2026)"}, {"id": 789075696, "item_id": 49317231, "url": "https://news.ycombinator.com/item?id=49317231", "by": "momojo", "date": "2026-08-15", "version": null, "stance": "recommend", "quote": "Numba is a little magic because you get to write stuff that feels like numpy, but get literal bytecode perf.", "excerpt": "This is awesome! For those here not familiar with Numba, it helps bridge that performance vs ergonomics tradeoff that's always existed when you reach for python over a lower level but faster lang like C or C++. Sure you could write Cython but then you have to have a build step and make wheels for every platform you and python version. Sure numpy has gotten faster over the years but you're still hampered by the GIL. N", "context": "", "use_case": "JIT-compiling numeric Python", "switched_from": "", "story": "Numba in the Browser: Unlocking a New Scientific Python Stack in JupyterLite"}, {"id": 788327409, "item_id": 49270463, "url": "https://news.ycombinator.com/item?id=49270463", "by": "Alexander-Barth", "date": "2026-08-12", "version": null, "stance": "recommend", "quote": "numba (https://numba.pydata.org/)", "excerpt": "Julia is actually quite nice for this. If you prefer a python-like approach consider Triton from openai, numba (https://numba.pydata.org/) or CuTe DSL from Nvidia.", "context": "", "use_case": "Python JIT compilation", "switched_from": "", "story": "Mojo 1.0 Is Here"}, {"id": 774856544, "item_id": 48428534, "url": "https://news.ycombinator.com/item?id=48428534", "by": "jbvlkt", "date": "2026-06-06", "version": null, "stance": "recommend", "quote": "you can use projects like numba", "excerpt": "Also you can use projects like numba https://numba.pydata.org/", "context": "", "use_case": "Speed up CPU-bound Python", "switched_from": "", "story": "Python JIT project was asked to pause development"}, {"id": 769018784, "item_id": 48063674, "url": "https://news.ycombinator.com/item?id=48063674", "by": "pjmlp", "date": "2026-05-08", "version": null, "stance": "warn", "quote": "", "excerpt": "I love when dialects for C and C++ count as being proper C and C++, are even argued as being more relevant than ISO standards by themselves, but anyone else that does the same, it is no longer the same language. As for Python not being the ideal, there we agree, but the solutions with proper performance already exist, Lisp, Scheme, Julia, Futhark,... Heck maybe someone could dig out StarLisp.", "context": "", "use_case": "", "switched_from": "", "story": "Mojo 1.0 Beta"}, {"id": 754865569, "item_id": 47179098, "url": "https://news.ycombinator.com/item?id=47179098", "by": "galdauts", "date": "2026-02-27", "version": null, "stance": "compare", "quote": "so far Numba has shown surprising performance benefits when executing code in parallel", "excerpt": "Thank you for the article! We're mainly interested in floating-point performance and energy consumption w/r/t to solving differential equations and tridiagonal systems of equations, while running on a 128-core compute node. Our current results will likely only be presented in May, but here are last year's results: https://www.cs.uni-potsdam.de/bs/research/docs/papers/2025/lssp.pdf Our Julia code is parallelised with ", "context": "", "use_case": "", "switched_from": "", "story": "Julia: Performance Tips"}, {"id": 754865024, "item_id": 47179064, "url": "https://news.ycombinator.com/item?id=47179064", "by": "ForceBru", "date": "2026-02-27", "version": null, "stance": "compare", "quote": "", "excerpt": "I found this paper (https://www.cs.uni-potsdam.de/bs/research/docs/papers/2025/lssp.pdf) from around 2025 (it cites papers from 2025) which shows that the Julia version of SRAD (along with some other benchmarks) is about 5 times slower than the slowest FORTRAN implementation and consumes at least 5 times more energy, see Table 4 and Figure 1. This paper, however, doesn't seem to be peer-reviewed.", "context": "", "use_case": "", "switched_from": "", "story": "Julia: Performance Tips"}, {"id": 754863712, "item_id": 47178982, "url": "https://news.ycombinator.com/item?id=47178982", "by": "hatmatrix", "date": "2026-02-27", "version": null, "stance": "compare", "quote": "people were reporting better speeds with Julia than with Numba", "excerpt": "Do you have an idea whether these are specific types of problems that is giving Julia poorer performance? From what I recall, people were reporting better speeds with Julia than with Numba (e.g., [1]). My impression was that you are basically able to bring more of your code to LLVM with Julia than Numba, so it would make sense. [1] https://gerritnowald.wordpress.com/2022/10/03/simulating-rotors-with-julia/", "context": "", "use_case": "", "switched_from": "", "story": "Julia: Performance Tips"}, {"id": 749486081, "item_id": 46842880, "url": "https://news.ycombinator.com/item?id=46842880", "by": "gus_massa", "date": "2026-01-31", "version": null, "stance": "neutral", "quote": "I used numpy and numba", "excerpt": "Someone replied to me in an old comment that for fast Python you have to use numpy. In the folder there is a program in plain python, another with numpy and another with numba. I'm not sure why only one is shown in the data. Disclaimer: I used numpy and numba, but my level is quite low. Almost as if I just type `import numpy as np` and hope the best.", "context": "", "use_case": "", "switched_from": "", "story": "Data Processing Benchmark Featuring Rust, Go, Swift, Zig, Julia etc."}, {"id": 747269040, "item_id": 46704315, "url": "https://news.ycombinator.com/item?id=46704315", "by": "OGsus", "date": "2026-01-21", "version": null, "stance": "neutral", "quote": "I used Python and Numba for the backend to handle the statistical heavy lifting.", "excerpt": "Hey HN, I built this API to help engineers and data scientists quantify 'predictability' and detect drift in their datasets. The link goes to the live Swagger docs so you can see the JSON structure and endpoints. Note: The API endpoints require a key, but you can test the underlying math/engine for free on the homepage (no signup required) to see how the scoring works. I used Python and Numba for the backend to handl", "context": "built a stability/drift API", "use_case": "statistical computation backend", "switched_from": "", "story": "Show HN: High-performance API for quantifying data stability and drift"}, {"id": 740480192, "item_id": 46280012, "url": "https://news.ycombinator.com/item?id=46280012", "by": "drnick1", "date": "2025-12-15", "version": null, "stance": "recommend", "quote": "but for that you have Numba.", "excerpt": "I don't think Julia really solves any problems that aren't already solved by Python. Python is sometimes slower (hot loops), but for that you have Numba. And if something is truly performance critical, it should be written or rewritten in C++ anyway. But Julia also introduces new problems, such as JIT warmup (so it's not really suitable for scripting) and is still not considered trustworthy: https://yuri.is/not-julia", "context": "", "use_case": "Speeding up Python hot loops", "switched_from": "", "story": "In Defense of Matlab Code"}, {"id": 736234049, "item_id": 46014628, "url": "https://news.ycombinator.com/item?id=46014628", "by": "DREDREG", "date": "2025-11-22", "version": null, "stance": "neutral", "quote": "Just open-sourced a ~320-line Numba heuristic", "excerpt": "Just open-sourced a ~320-line Numba heuristic that consistently hits 0.3674\u20130.3677 on the standard G81 benchmark (20 000 nodes, 40 000 edges). Key points: - 99 % of the final cut is reached by iteration ~1200 - Built-in early stopping turns the remaining hours into minutes - <80 MB RAM, no external solvers, no GPU Quick comparison on the exact same graph (my runs, nothing fancy): \u2022 Random 0.258 \u2022 Greedy (10 restarts)", "context": "", "use_case": "Building the heuristic", "switched_from": "", "story": "GravOpt \u2013 20k-node MAX-CUT in ~7 minutes on a single CPU core"}]}