On 10/18/2018 12:22 PM, Gregory Szorc wrote: > One open item is full PyPy/cffi support. Ideally we’d only write the native > code interface once. But I think that means cffi everywhere and last I > looked, CPython into cffi was a bit slower compared to native extensions. I’m > willing to ignore cffi support for now (PyPy can use pure Python and rely on > JIT for faster execution). Maybe something like milksnake can help us here? > But I’m content with using the cpython crate to maintain a Rust-based > extension: that’s little different from what we do today and we shouldn’t let > perfect be the enemy of good.
One nice thing with the cpython crate is that it's just using the CPython ABI. Therefore, there's nothing we can't do – only things that are less practical. It's not very intuitive, but it should be ok with a bit of practice. About cffi, if milksnake can automate it, that's an easy win to be added later (for now I still need to call in the C modules from the Rust code). In both cases, we need to tighten it with comprehensive integration tests. Cheers, -- Georges Racinet Anybox SAS, http://anybox.fr Téléphone: +33 6 51 32 07 27 GPG: B59E 22AB B842 CAED 77F7 7A7F C34F A519 33AB 0A35, sur serveurs publics _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel