-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Experimental PyPy version of Caluma #518
Conversation
This uses a separate Dockerfile, so users will still have the choice Also we need to use a different psycopg2 implementation, as the cPython version doesn't work with pypy
The plan also is to add this as a different tag to Dockerhub, so switching between python implementations becomes easy |
@winged All in all I do not see how supporting pypy brings any advantage to a caluma user as the app runs in a docker container. Or what do you see the advantages are? |
TLDR: It depends. @sliverc well, it is supporting a fellow open-source project more or less. They have done an awesome job ensuring cpython compatibility. I am currently trying to get pypy tested/supported on musl, just because both projects musl-libc and pypy are awesome. I agree that this might cause additional time and effort for caluma-maintainers and caluma won't profit from pypy as long as it isn't on heavy load (JIT) or under memory pressure (pypy has more efficient memory-representation of data-structures). Also coverage-py is very slow on pypy, because it is built for cpython, so CI-cycles will slow-down. |
maybe this better happen outside of caluma repository to experiment with PyPy and Caluma and see whether it actually brings some performance improvement in certain situations. If it works out well we can always consider to integrate it into the main repo even replacing CPython as default if the experiment shows massive performance improvements without major drawbacks. Simply supporting PyPy in the main repo just for the sake of supporting it I wouldn't do as it increases CI run time and maintenance. |
First benchmarks by @winged surprisingly show that with cpython caluma is about 3-4 times faster. I don't know if he further investigated why that is the case. |
For me pypy is a little faster running pytest, but psycopg2cffi chtd/psycopg2cffi#106 isn't well maintained. Pypy:
CPython:
|
This uses a separate Dockerfile, so users will still have the choice