2016-02-01 17:54 GMT+01:00 Yury Selivanov <yselivanov.ml at gmail.com>: > Thanks for bringing this up! > > IIRC wpython was about using "fat" bytecodes, i.e. using 64bits per > bytecode instead of 8. No, it used 16, 32, and 48-bit per opcode (1, 2, or 3 16-bit words). > That allows to minimize the number of bytecodes, thus having some > performance increase. TBH, I don't think it was "significantly faster". > Please, take a look at the benchmarks, or compile it and check yourself. ;-) If I were to do some big refactoring of the ceval loop, I'd probably > consider implementing a register VM. While register VMs are a bit faster > than stack VMs (up to 20-30%), they would also allow us to apply more > optimizations, and even bolt on a simple JIT compiler. > > Yury WPython was an hybrid-VM: it supported both a stack-based and a register-based approach. I think that it's needed, since the nature of Python, because you can have operations with intermixed operands: constants, locals, globals, names. It's quite difficult to handle all possible cases with a register-based VM. Regards, Cesare -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20160515/96b81183/attachment.html>
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4