3 ms·
From my comment on the blog article: Allow me to point out some important points of disagreement here. “Speed no longer matters” While computers are faster,
by jackmott 10y ago
From my comment on the blog article:
Allow me to point out some important points of disagreement here.
“Speed no longer matters”
While computers are faster, the expectations of users are also higher. New monitors today have 14,745,600 pixels and that is still growing fast, that is 7 times more than 1920x1080 which was the norm just a couple of years ago. That means for any app involving UI or graphics, you have significantly more work to do. This same trend applies to processing data, as databases are also bigger, complexity and amount of features expected has also increased. To keep up with that you can’t throw away cycles.
While computers are faster, many more people are doing computing on small devices like phones and tablets where battery power is a precious resource, and slow code wastes battery life faster.
The cost of scaling server side infrastructure can seem cheap with a naive analysis, but high performance code can not only mean fewer servers or cloud services to buy, but also a simpler architecture. As soon as you have to scale beyond 1 web server for instance, you now also need to worry about load balancing, and a host of other issues. High performing code can keep you on a single server for an amazingly huge workload.
Lower latency has been proven to make money https://blog.gigaspaces.com/amazon-found-every-100ms-of-latency-cost-them-1-in-sales/ https://blog.gigaspaces.com/amazon-found-every-100ms-of-late...
Another point of disagreement is the idea that this performance his we take with interpreted Python is completely unnecessary. Exactly the same language can exist in JITted form, and does, and it should be brought up to be the default and only way of executing python. There also exist plenty of similarly nice and expressive languages that perform better (OCaml, F#, etc)
Every day I am annoyed by slow software, and until that stops I will never accept the argument that performance doesn’t matter.
- nhumrich 10y ago> Exactly the same language can exist in JITted form, and does, and it should be brought up to be the default and only way of executing python Yes, PyPy, Jypthon, etc. exist and they can be faster. If you want to use those, then great, do it! But a JIT is not faster in all cases, only some cases. Python is first and foremost a scripting languages, and for a lot of the simple script cases, CPython is faster than a JIT version. It doesnt make sense to make that the default.
- jackmott 10y agoBeing first and foremost a scripting language doesn't mean anything. If the argument is that for really short programs the iteration time when building and running is faster with the interpreter, because you don't have to build, I can't see how this matters. It would be a sub microsecond difference for short scripts. If it isn't, make a better JIT. (or even better, native compile it, as all things should be in my fever dreams)