It really depends on your ability to time manage and keep focus. I know i can not do it. Its much easier for me to work for 16h and sleep till i am rested and then work some more than to follow strict schedule. Focusing on two projects (one being interesting and the other usually dull) is also very hard. There is also commute time ...
i am not sjure about 20+ hour spurts unless you include the most valuable time for coding: doing something away from any computer.. coding in you head. I think pg has written about it not too long ago.
For me, this coding in your head continues and gets re-forumlated, stored as pseudocode in my head until i can write down the full the implementation in one step.
This way i sometimes come to 48h+ of work (including dreaming of code;-) which is just 10percent pysical hacking at a keyboard.
/Toni