Took me 1.5 years, and I applied out of the VERY busy NYC offices as soon as I turned 18.
My brother's took just under a year when he applied, as an enlisted Marine. Not a huge difference.
Also worked at my local Congressman's office for a year, high Hispanic population, we looked over a lot of applications as people would come for help. Pre and post 9/11, never saw anything take over 2 years, assuming they had no issues in their background.
Green cards are tougher to get, as it makes you a permanent resident in this country...citizenship is like what you get after your "probationary citizenship" as a green card holder goes well for long enough.
Assuming you don't have any skeletons in your closet. Anything over 2.5-3 years is extreme...even for INS/BCIS or whatever the hell they're called now.
Btw, this assumes you meet the residency requirement of being in-country as a green card holder for X years before applying...although for issues where you need to "wait" before meeting a time requirement I seem to recall them letting you apply a certain time before you would actually fulfill the time requirement.