News for hackers. Stuff that matters.
Re:Cinder: Instagram's performance-oriented fork of CPython by EmilStenstrom on Tuesday May 04, 2021 @05:57PM (#27043384)
tldr: Static Python plus Cinder JIT achieves 7x the performance of stock CPython
Re:Cinder: Instagram's performance-oriented fork of CPython by nerdponx on Tuesday May 04, 2021 @06:08PM (#27043486)
I wonder why Cinder and not building off of PyPy. Isn't there also a GraalVM implementation?
Re:Cinder: Instagram's performance-oriented fork of CPython by _carljm on Tuesday May 04, 2021 @06:25PM (#27043632)
We 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.
Re:Cinder: Instagram's performance-oriented fork of CPython by neolog on Tuesday May 04, 2021 @10:54PM (#27045653)
Have you looked into the new hpy API? https://hpyproject.org/
Re:Cinder: Instagram's performance-oriented fork of CPython by mattip on Wednesday May 05, 2021 @06:28AM (#27048235)
Sorry to hear that. What were the sticking points?
Re:Cinder: Instagram's performance-oriented fork of CPython by _carljm on Wednesday May 05, 2021 @08:50AM (#27049215)
It 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.
Re:Cinder: Instagram's performance-oriented fork of CPython by miohtama on Tuesday May 04, 2021 @05:58PM (#27043399)
This is meaningful for some big web workloads. By cranking up your Python codebase performance you can avoid expensive rewrites in harder to maintain languages.