an increasingly large part of the job of an engineer is deciding how much compute to spend on a problem