3 ms·
$ brew install pyenv $ pyenv install pypy3.9-7.3.9 I like using PyEnv for managing my Python versions. It will natively compile Python builds and should be do
by verst 4y ago
$ brew install pyenv
$ pyenv install pypy3.9-7.3.9
I like using PyEnv for managing my Python versions. It will natively compile Python builds and should be doing the same on M1 (which is what I'm using). `pyenv install --list` shows you what is available.
EDIT: Not sure why they don't have newer versions of PyPy there (I don't use PyPy) but all it takes is a PR to here: https://github.com/pyenv/pyenv https://github.com/pyenv/pyenv
- deleted 4y ago[deleted]
- Shish2k 4y agoThanks! Added to the list, it’s suspiciously only a little bit faster than CPython 3.11 though, which probably needs more investigation… ED> Looks like CPython prefers using a dict as a lookup table for opcodes (which is what this implementation does), while PyPy prefers having a long series of if-statements. Hmm.
- hnov 4y agoThat makes sense because pypy can JIT a ladder of if/else to a compare/jump conditional each whereas a dict lookup can be an order of magnitude more complex. If they're 8bit opcodes, maybe having a list based lookup table will perform similarly on py3000 and still optimize on pypy? Or maybe https://docs.python.org/3/library/array.html https://docs.python.org/3/library/array.html rather than list.