Most modern insurgencies last about a decade (Connable & Libicki, 2010). For most of those years, human mortalities are high enough to classify the conflict as a war, that is, in excess of 1,000 "battlefield" deaths. These days, an infant in a minivan who is hit by a Hellfire missile shot out of a drone is a battlefield death.
Try to find a nonviolent insurgency in which the mortalities rise to the level of classification as war for even one year. Then look at the timelines. Yes, it took Gandhi 28 years to complete the nonviolent liberation of India, but he was just the warm up act. It took African Americans in the Deep South just three months to end segregation in Nashville. It took a year for Filipinas to overthrow Marcos with nonviolence. It took about 10 months to topple Slobodan Milosevic in Serbia once nonviolence started.
So we can look to history and find Hundred Years War and a Six Day War. We can find decades of nonviolence unable to liberate either Tibet or Burma and we can find nonviolent insurgencies that are successful in days in Tunisia and Egypt. There are no hard and fast rules except, in the end, we get much more gain for much less pain with nonviolence.
Connable, Ben; Libicki, Martin C. (2010). How insurgencies end. Santa Monica, CA: Rand.