The time it takes for USCIS to approve a petition varies according to the type of petition and the specific USCIS office involved, but it generally takes at least 5-6 months for an immediate relative petition. Estimates for specific offices are available here.
Once a petition is approved it is largely up to you how long it takes to get an interview appointment. The quicker you submit all requested documents to NVC, the sooner an appointment can be scheduled. Appointments are usually scheduled for the month after all documents are submitted. Visas are normally available within a few days of the interview.