HN2new | past | comments | ask | show | jobs | submitlogin

How similar/dissimilar is CrossTwine Linker from Pypy? It sounds quite similar from what I was able to read, in the sense that it is a JIT VM with pluggable frontends. Does it support pluggable backends as well, or just the front end?


There are quite a few similarities, but the design trade-offs are radically different:

* CrossTwine Linker is designed to be integrated into an existing language interpreter, without modifying its behavior besides improving execution performance. Any other difference (including when dealing with source and binary C/C++ extensions) is probably a bug.

* Is is not a VM (nor a VM compiler), but rather a (constantly evolving) set of C++ engine pieces which can be adapted using “policy-based design.” So while the demos aim to be generally fast, we can tune the engine and its adapters for any specific use-case; e.g.: you embed the Python interpreter in an application using the standard C API (no lock-in), and we make sure the binding behaves optimally with your application objects. (Note: we can also implement the binding as part of the service.)

* As such, everything is pluggable—except that we only target native hardware (PyPy is much more ambitious). But that's theory; I'll defer further comments on the backend to when we get the chance to implement a second one!

[Edit] Note that this means we support the full standard library—and all of its quirks—from day one. Which is both a curse and a blessing, because it is written with interpreted execution in mind, but that can be improved as time passes.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: