3 ms·
It's running on top of vanilla CPython, but with heavy instrumentation via sys.settrace as well as ast transformations. x and y are just normal Python ints. The
by smacke 3y ago
It's running on top of vanilla CPython, but with heavy instrumentation via sys.settrace as well as ast transformations. x and y are just normal Python ints. The downside is the overhead, but it's paid mainly for top-level / module-level statements, so I've found it to be acceptable in practice. The benefits are on portability -- as it scales for all the major Python versions supported today (3.6 to 3.11), and even for some different Python runtimes such as Cinder.
More details in this paper: https://smacke.net/papers/nbslicer.pdf https://smacke.net/papers/nbslicer.pdf
But overall I agree I need to get on top of the docs and talk in more depth about the implementation there.