facebookincubator / cinder

Cinder is Meta's internal performance-oriented production version of CPython.
https://trycinder.com
Other
3.49k stars 121 forks source link

HPy support #88

Open koubaa opened 2 years ago

koubaa commented 2 years ago

Hello!

Supporting HPy - an alternative for the CPython C API could offer some benefits for cinder. Some python libraries have branches which support the HPy API - and while it is slower by default when used as a shim on top of the standard CPython implementation - it removes implementation details from the CPython C API, which buys options to make different choices (JIT, garbage collector, etc) like those made here in cinder. CPython extension modules that target the HPy API would Just Work with any python runtime that supports HPy - which means you don't have to change your C API to match changes from 3.9+.

itamaro commented 2 years ago

thanks for bringing this up @koubaa ! this is something @tekknolagi mentioned recently as well.

iiuc HPy support isn't really relevant to the cinder/3.8 branch, but would be relevant once we complete the cinder/3.10 port. since cinder is mostly compatible with cpython C APIs, I believe full HPy support should be attainable once cinder/3.10 becomes our main branch in a couple of months.

tekknolagi commented 2 years ago

I am very interested in poking at this after our 3.10 upgrade

dmarx commented 1 year ago

bumping since apparently 3.10 upgrade is complete