|
|
|
|
|
by thrwawy1234
1281 days ago
|
|
Yes and no. As you said, in some areas we have wonderfully efficient codes that can take advantage of hardware for things like codecs. Efficiency through high level languages - that's debatable. Often they trade developer efficiency for efficiency of the computer - layers of abstractions to hide platform details, runtime layers to defer some things to runtime, etc. I rarely see people using new tools to develop code that itself is more efficient - based on the ever growing resource needs of programs that rarely have corresponding growth in capabilities, I think almost all of the effort from the developer community as been on making developers feel more efficient at the cost of compute resources. Personally I'd love to see people focus on efficiency even if it takes more time and effort. Unfortunately, the incentive just isn't there - developers focus on what make it possible for them grind out new code faster to the largest audience possible. Hence the layers upon layers of runtimes and abstractions that make that possible. If it means burning CPU and memory, they really don't seem to care. Hence the relentless consumption of more and more resources by software. I'm jaded : performance analysis was a long term research area for me, so I pay a bit more attention to these kinds of issues than your average JS or Python jockey who thinks the computer is a magical container full of infinite RAM and compute resources that are theirs and theirs alone to consume. |
|
It doesn't matter if you have 200 layers of function call on a button click handler, it's going to run in 1ms compared to 200ms to even think about clicking it. Some stuff doesn't matter.
However, the code to render the page full of buttons and scroll it smoothly could be performance critical.
A one size fits all framework can afford to put tons of effort into optimizing the heavy operations.
Handwritten code might not even use GPU acceleration, because there's no reuse and nobody thought it was worth it to spend months on it.