Hibernate?
I'm surprised that no-one has yet suggested hibernation. IMHO a full restart every time just isn't necessary, if you don't have, for example, a silly app running which has a memory leak. I've found that a full restart about every week, with a use of Ccleaner about every month, keeps everything running slickly. Morning start-up time is about 15 seconds with my present setup.