I think you need to manage your expectations about what's realistic and what's not and what's desirable and what's not.
Your aim -is admirable but my personal experience is that the people who genuinely get the most out of life are those who don't force it and who find the natural level of activity which works for them and accept it.
What you need to do is tweak your aim - not how can I spend the greatest amount of time studying, but how can I learn the most. They're not the same, and in many cases they're not related in the ways you may think. Not all hours are equal and you're going to run into the law of diminishing returns a lot earlier than you think.
3 - 4 hours a day plus your other studies is actually a pretty hefty goal and I think might not be realistic on a sustained basis. I'd suggest that you wind it down a bit (try 2 hours of really good study a day, with at least one day a week off) and see how that goes. If it's going well add a little more and review. Eventually you'll hit a point where you feel the extra time isn't adding real benefit and at that point wind it back and stick to that as your ideal, efficient level.
In terms of some of the things you mention:
1) Diet - it's fine to ask about diet tricks but the reality is that we all know what a good diet is and what the things we should limit are. So restrict your intake of fatty foods, cakes and sweets, eat a good mixture of things with plenty of fresh fruit and vegetables. I'd suggest that you're going to find that faddy diets and tricks will yield you limited benefits (certainly in proportion to the effort you expend) beyond those you'll get from applying basic common sense. And try new stuff - there's a lot of pleasure to be had from food, it's not just fuel.
2) Sleep - is about the most important thing you can do for productivity and health. 8 hours a night, minimum. You may think you can get by on less but that's all you're doing, you're getting by. Sleep is important for forming long term memories (and therefore learning) and concentration. You're going to need at least 30 minutes to wind down before you're going to sleep (unless you're utterly exhausted which you should take as a warning sign) doing something unrelated to work but calming (best thing is read a non-technical book). And give up caffeine after lunch, you'll notice the difference almost immediately - if you drink coffee before bed and still sleep, you're sleep deprived and should be looking to get more rest.
3) Do some exercise. It's good for health, concentration and happiness. Doesn't matter what, it's your call but you sound like you've got interests here so that's great.
4) Have other interests. None of the best programmers I've met are obsessives. I'm not saying that there aren't great programmers who aren't obsessives but I don't think devoting your life 24 x 7 to it is actually going to make you happy and if you're not happy you won't be productive or committed to what you're trying to do.
5) And as a natural result, be realistic about how much time you should spend studying, learning and programming. Programmers can frequently be heard banging on about how more than a 40 hour work week is unproductive, and then talk about how they're going home to code. This is clearly somewhat contradictory so if you believe that there is a limit to how many hours a week you can code and be productive (and you should, it's true), you need to extend that to home too.
But it sounds like you've got a good attitude and that's a great start. Combine that with some common sense, a bit of patience and some balance and you'll do fine.