Which is the better violence or non violence?

It depends on the situation and there is no definitive answer. In short, your actions should match the threat. If the threat is imminently violent, a concurrent violent response may be necessary. However, acting preemptively with violence is rarely necessary. IE - you don't need to bring guns to a knife fight.