-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Refactor unicornlib to use pybind11 #5516
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Can we use nanobind instead? |
(We already use nanobind in pypcode) |
I chose pybind11 because it cleanly integrates with setuptools, allowing us to get rid of most of the custom logic in setup.py. Nanobind doesn't seem to offer that, and instead requires integrating cmake. |
ebbe77f
to
cfab23b
Compare
20c7aca
to
312e23c
Compare
Let's discuss this offline. Given that the long-term goal being switching to P-Code and the fact that pypcode already uses nanobind, I don't think relying on CMake is a worse idea than the current situation. Personally I do not see pybind11 removing the performance overhead any time soon, and nanobind offers solid runtime performance boosts over pybind11, which is critical for the unicorn engine. |
Also translating nanobind and pybind11 code in between is almost trivial. |
for more information, see https://pre-commit.ci
Corpus decompilation diffs can be found at angr/dec-snapshots@master...angr/angr_5516 |
No description provided.