4 ms·
I love PyPy, but it kind of sucks watching everyone get excited about the CPU performance of a web server while forgetting about this: "Pypy used about three t
by peterhunt 15y ago
I love PyPy, but it kind of sucks watching everyone get excited about the CPU performance of a web server while forgetting about this:
"Pypy used about three times as much memory in both cases, but usage was stable over time (i.e. it's not "leaking" like pypy 1.6 did)."
For a front-end web server, I'd trade CPU perf for memory any day of the week.
- dmpk2k 15y agoI think likewise. It should probably be number of requests per MB of RAM for I/O-bound servers where latency isn't critical.
- codexon 15y agoI complained about memory leaks back when pypy 1.5 (I think) was released on reddit.com/r/python. A bunch of people downvoted me.
- jflatow 15y agoThe part that interests me about this one is not that I necessarily want to run a faster Tornado server, but that I have often been wondering how much speedup I can get from switching e.g. Python to PyPy in general. Granted, it generally makes sense to do your own benchmarking for a particular application, but its also nice to see other people's results like these from time to time, especially against a rapidly evolving project like PyPy.
- sb 15y agoI think that's a good point and was also heavily commented on when Google's Unladden Swallow released its benchmark numbers (IIRC, for the django benchmark its binary size grew to 800 megs.) Probably that was even a reason they stopped working on it (there was a link somewhere, but I cannot find it right now.) Furthermore, I think this "problem" is attributable to jit-compilation in general, since you have to store the code somewhere. The situation was/is somehow similar to the JVM's memory requirements. An interesting alternative to code generation is to optimize interpreters instead.
- sandGorgon 15y agowith SSDs catching up (in terms of price/gb) to hdds, could you possibly use SSD as a jit-cache ? processors are the most power hungry part of a machine, and considering cooling is the biggest bottleneck in a modern datacenter, I wonder if SSDs acting as caches could amplify a processor's power.
- dmpk2k 15y agoI'm not sure it's intrinsic to JIT. LuaJIT's footprint is no larger than the normal Lua VM last I looked. It has more to do with how you pack your data and how much pressure you put on the GC (thus requiring more memory).
- wmf 15y agoAt least Tornado supports concurrency so each process can handle multiple connections.
- daenz 15y agoLast time I checked, Tornado was a single process with an event loop of non-blocking sockets. Are you talking about running multiple Tornado processes on different ports and putting a round-robin proxy in front of them?
- ntoshev 15y agoNo, he's talking about multiple http connectons being handled by this single threaded process (meaning you don't need too many processes that consume memory)