Yeah it takes more time than a quick and dirty python script. But when I’m counting the countless hours (what irony) into this equation because of mindless leaky abstractions and resulting debugging, I’m certain that I’m at least not a lot slower writing that.
As I said I’m not talking about the last 10-20% of performance that’s possible say even up to 40%, but more like an order of magnitude (at least), i.e. algorithmically insufficient or relying too much on that your abstractions do everything right and you use it correctly (which in the case of react is seemingly not the case, when looking at the modern web).
Taking that example (Rust) again, I very often get away with .clone() everywhere, i.e. not even caring much about performance while the performance is not significantly impacted.
Then I switch to our typescript code-base in my job and get aggressions because of this extreme slowness (because of stupid abstractceptions, like wtf? shadcn needs to be built on radix-ui needs to be built on react etc. which in effect results in a slow abstraction-hell… and leaky abstractions everywhere)
It’s a culture problem too. Just today, reading about OLPC:
Jim Gettys, responsible for the OLPC laptops’ system software, has called for a re-education of programmers, saying that many applications use too much memory or even leak memory. “There seems to be a common fallacy among programmers that using memory is good: on current hardware it is often much faster to recompute values than to have to reference memory to get a precomputed value. A full cache miss can be hundreds of cycles, and hundreds of times the power use of an instruction that hits in the first level cache.”[54]
I wish that were true but writting efficient software, with low allocation, low memory foot print, all that good stuff, definitely takes more time.
Welcome to Rust which “solves” this issue…
Yeah it takes more time than a quick and dirty python script. But when I’m counting the countless hours (what irony) into this equation because of mindless leaky abstractions and resulting debugging, I’m certain that I’m at least not a lot slower writing that. As I said I’m not talking about the last 10-20% of performance that’s possible say even up to 40%, but more like an order of magnitude (at least), i.e. algorithmically insufficient or relying too much on that your abstractions do everything right and you use it correctly (which in the case of react is seemingly not the case, when looking at the modern web).
Taking that example (Rust) again, I very often get away with
.clone()everywhere, i.e. not even caring much about performance while the performance is not significantly impacted. Then I switch to our typescript code-base in my job and get aggressions because of this extreme slowness (because of stupid abstractceptions, like wtf? shadcn needs to be built on radix-ui needs to be built on react etc. which in effect results in a slow abstraction-hell… and leaky abstractions everywhere)It’s a culture problem too. Just today, reading about OLPC: