3 ms·
The biggest problem is that most nontrivial C programs use extensions written in C, and those extensions are written with fairly deep knowledge of CPython, so y
by CJefferson 6y ago
The biggest problem is that most nontrivial C programs use extensions written in C, and those extensions are written with fairly deep knowledge of CPython, so your JIT has to build most of the same structures as CPython anyway, in case an extension needs them.
- chrisseaton 6y agoIn the Ruby JIT I work on what we did was write a C interpreter, and run the C extensions inside the same VM as the Ruby code. That allows you to provide the illusion of using the same structures, but actually allowing you to implement them however you want for better performance.
- tasubotadas 6y agoIMO, that's a very interesting and smart approach :)
- tasubotadas 6y agoThanks. That's the answer I was looking for.