4 ms·
I'm not sure why you would call it cheating -- it seems like a very principled engineering decision to me. Even if you never deploy, it's not like Python proce
by chubot 10y ago
I'm not sure why you would call it cheating -- it seems like a very principled engineering decision to me.
Even if you never deploy, it's not like Python processes will run forever if you have have GC on. Big deployments usually recycle their processes regularly. Why wouldn't you? There's no downside once you have a big enough cluster.
I recall hearing that YouTube also runs with GC off, but I don't have a source for that.
- stcredzero 10y agoI'm not sure why you would call it cheating -- it seems like a very principled engineering decision to me. I like sounding "bad."
- mannykannot 10y agoI don't think anything pejorative is intended, but it is a bit like taking out a loan with no intention of repaying. Another way of looking at it is that you are optimizing away a feature that Python needs in order to be a general-purpose language, but that is not needed for your purpose.
- chubot 10y agoAs long as you have the build infrastructure to support patched versions of Python, and can run multiple ones, I don't see the problem. When you're running at scale like Instagram, it's inevitable that you need to do stuff like this. You're just pushing the limits of what open source software has been tested for. I think this solution is a hack in the good sense... in particular because you are taking something away rather than adding crap on top, which is the typical solution. I wouldn't be as impressed if they came up with a fancy new GC that took 18 months to write and only worked for their workload. That would be the wrong way of thinking about the problem.
- deleted 10y ago[deleted]