The more the better. A good design process needs time to immerse and understand the problem space first, then jump into a design explore, review with stakeholders, prototype and test with users, iterate and refine and then prepare production ready assets so that it's a smoother process for engineering (which tends to be more costly).
It also depends on your project scope, size and type. Typically a minimum of 2-3 months is a good guide. It always takes longer than you think as you get into the details. Rushing the design process generally results in a mediocre user experience and lots of issues once the engineers start asking smart questions. Sometimes a quick 10 day design sprint can get you a better idea of what your product might be and then estimation get's easier.
If you have a project in mind that you would like to collaborate on, I'd love to hear about it!