It's been a while since I had to ask this question too seriously, so it's interesting to see the where the ecosystem has transitioned to. Lots of new libraries (I've never used PyBind11) but also venerable ones (Boost.Python, cffi). Interesting to hear that parameter conversions are still a significant overhead. Cross the boundaries infrequently, with large values, to avoid the translation overhead explosion, which is ancient wisdom: https://blog.glyph.im/2022/12/potato-programming.html