4 ms·
tldr: Static Python plus Cinder JIT achieves 7x the performance of stock CPython
by EmilStenstrom 5y ago
tldr: Static Python plus Cinder JIT achieves 7x the performance of stock CPython
- miohtama 5y agoThis is meaningful for some big web workloads. By cranking up your Python codebase performance you can avoid expensive rewrites in harder to maintain languages.
- nerdponx 5y agoI wonder why Cinder and not building off of PyPy. Isn't there also a GraalVM implementation?
- _carljm 5y agoWe tried PyPy without much success (and we really tried, six month project just to get it to run our codebase.) Our workload is very heavy on the CPython C API, which makes life difficult for PyPy or any other alternative Python implementation. PyPy is great for a lot of uses, just not a great fit for us.
- neolog 5y agoHave you looked into the new hpy API? https://hpyproject.org/ https://hpyproject.org/
- mattip 5y agoSorry to hear that. What were the sticking points?
- _carljm 5y agoIt was a few years ago and I didn’t work on it directly, so my knowledge is a bit fuzzy, and I think the person who did work on it is no longer at the company. As best I recall the slog to get it working was mostly about C extensions, but I don’t know details. And then once it was working the memory use was worse and it didn’t show perf improvements. This is speculation but I would guess the design of the pypy jit isn’t a great fit for a prefork workload, where the hot paths don’t get hot until postfork, but it’s pretty inefficient to do identical jit compilation in every worker instead of once in the parent process.