I'm never satisfied with the status quo.
Solutions primarily offer compromises based on available facts, costs, skills or time.
Loaded down by years of squeezing bits into unimaginably small memory spaces and not wholly trusting the infallibility of technology, I've come to appreciate C compilers, but to get great performance from them takes some knowledge on our end, too. Today's compilers are marvelous and even come with optimizers to tweak functions within the confines set by compiler designers. You can manually select or trade off execution speed vs memory size, how much optimization to apply and even how to most efficiently use memory and register resources. My problem isn't necessarily with compilers but with our expectations of them. We expect a compiler to do a fantastic job without it having an understanding of our intentions, application or logic design.