https://bugzilla.redhat.com/show_bug.cgi?id=2003287 Bug ID: 2003287 Summary: Review Request: python-llvmlite - A lightweight LLVM python binding for writing JIT compilers Product: Fedora Version: rawhide Hardware: All OS: Linux Status: NEW Component: Package Review Severity: medium Priority: medium Assignee: nobody@xxxxxxxxxxxxxxxxx Reporter: sanjay.ankur@xxxxxxxxx QA Contact: extras-qa@xxxxxxxxxxxxxxxxx CC: package-review@xxxxxxxxxxxxxxxxxxxxxxx Target Milestone: --- Classification: Fedora Spec URL: https://ankursinha.fedorapeople.org/python-llvmlite/python-llvmlite.spec SRPM URL: https://ankursinha.fedorapeople.org/python-llvmlite/python-llvmlite-0.37.0-1.fc34.src.rpm Description: The old llvmpy binding exposes a lot of LLVM APIs but the mapping of C++-style memory management to Python is error prone. Numba and many JIT compilers do not need a full LLVM API. Only the IR builder, optimizer, and JIT compiler APIs are necessary. llvmlite is a project originally tailored for Numba's needs, using the following approach: - A small C wrapper around the parts of the LLVM C++ API we need that are not already exposed by the LLVM C API. - A ctypes Python wrapper around the C API. - A pure Python implementation of the subset of the LLVM IR builder that we need for Numba. Key Benefits - The IR builder is pure Python code and decoupled from LLVM’s frequently-changing C++ APIs. - Materializing a LLVM module calls LLVM's IR parser which provides better error messages than step-by-step IR building through the C++ API (no more segfaults or process aborts). - Most of llvmlite uses the LLVM C API which is small but very stable (low maintenance when changing LLVM version). - The binding is not a Python C-extension, but a plain DLL accessed using ctypes (no need to wrestle with Python’s compiler requirements and C++ 11 compatibility). - The Python binding layer has sane memory management. - llvmlite is quite faster than llvmpy thanks to a much simpler architeture (the Numba test suite is twice faster than it was). Fedora Account System Username: ankursinha -- You are receiving this mail because: You are on the CC list for the bug. You are always notified about changes to this product and component _______________________________________________ package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure