Something I wonder about: when you hear these stories about super-programmers who work normal 40 hour workweeks and yet do something really impressive in a year, is it because they're super talented or is it because they have this huge intellectual capital reserve from past experience they can draw upon?
For example, if you look at Lars Bak's resume, he started working on the Beta programming language in 1988. (For HN readers that aren't familiar with it, Beta was an exceptionally innovative language, and I'd highly recommend learning a bit about it.) Then he joined the Self team in 1991, where he did the first dynamic-optimizing JIT compiler. Then he worked on StrongTalk at Animorphic/Longview, and then was the engineering manager for HotSpot at Sun. He's spent 20 years working on basically nothing but optimizing VMs for dynamic languages - it's no wonder that he could kick out a dynamic JIT for JavaScript in a year.
Paul Buchheit once had a thread on FriendFeed about how long it takes to build a really cool project. It took him about 3 years for GMail, and Google was kicking around in Larry & Sergey's head for 3 years before they incorporated. That seems fairly typical for most Google products.
So while most successful people will say "Work reasonable hours and get enough sleep," I wonder how many of them are able to say that because they've already put in the hours necessary to attain mastery in a subject. Perhaps the solution is to optimize for rate of learning+retention: work as long as necessary to fully understand the subject, but quit when you feel you can't concentrate and remember things. Sometimes you can work for 15 hours and learn nothing, while sometimes you'll put in 3 mind-bending hours a day and learn tons.