4 ms·
> CPU time is always cheaper than an engineer’s time. I hate this quote, but less than the "Memory is cheap" mantra.. For "CPU time", if it's a critical path
by jbverschoor 4y ago
> CPU time is always cheaper than an engineer’s time.
I hate this quote, but less than the "Memory is cheap" mantra..
For "CPU time", if it's a critical path for something with a lot of users and/or where performance is key, the engineer's time is just a fraction.
- bagels 4y agoThe critical factor is scale. Thousands of servers replaced with hundreds by more efficient code can be worthwhile.
- TimPC 4y agoThis means working at companies with massive scale can be far better because you get to make code performant and optimize things rather than just focus on getting features out the door.
- jbverschoor 4y agoYup. It should, and in general it is.. Look at operating systems, compared to <insert random app>. Somehow programmers care about the big O notation, but not when it's about other people's time.
- curtainsforus 4y agoThe operating systems that get fatter and slower every year?
- djmips 4y agoThat's not the only factor. Sometimes it's weight or power or a fixed system like embedded, console or a particular product that's not easily upgradable.
- jcalabro 4y agoYeah for sure. One thing I think about often is if you're writing a compiler and it's slow (say it takes 10s per build), if you have 1000's of engineers running it 100x per day, that starts to add up quick. If you could get it down to 1 second, then you'd save a lot of actual engineer time, just not your own. Scale is key here, but fast software is always a much better user experience than slow stuff as well. With the compiler example, if it takes 1s as opposed to 1h, then users can iterate much more quickly and get a lot of flexibility.
- deleted 4y ago[deleted]
- trashtester 4y agoYou don't need thousands of servers to make it worthwhile. If you have code that runs constantly on 11 servers (possibly in k8s) that each cost $1k/month in AWS, and you spend a few weaks optimizing it down to needing 1 server, those weeks just generated the equivalent of a YEARLY $120k revenue stream. If you require an ROI of 5 years, no interest included, you just created $600k in value over a few weeks.
- exyi 4y agoYea. CPU time might be cheap but if someone is waiting for that CPU, you are now wasting someone's time.
- deleted 4y ago[deleted]
- deleted 4y ago[deleted]
- jacobolus 4y agoMoreover, when some operation gets sped up by a orders of magnitude, it can be used for new things that you’d never consider when it was relatively more expensive. Something that used to be precomputed offline can be done in real time. Something that used to work on a small samples can be applied to the whole data set. Something that used to be coarsely approximated can be computed precisely. Something that used to require large clusters of machines can be handled on customers’ client devices. Something that used to be only an end in itself can be used as a building block for a higher-level computation. Etc.
- secondcoming 4y agoIt explains why the modern web experience is typically so crappy.
- saagarjha 4y agoIndeed. At scale quotes like these are generally put on the backburner and the performance team will deliver gains that justify staffing the team, and then some. At work (though I’m not directly involved in this) there’s even a little table that gives you a rough idea of what kind of win you need to save the company the equivalent of an engineer. If you do it in the right spot it’s not really even that much (though, of course, finding a win there is probably going to be very difficult).