Se non ricordo male hai addirittura alleggerito la computazione.
Questo perché ng-show/ng-hide hanno dei watchers attivi per rimanere in ascolto su eventuali cambiamenti del modello dei dati.
Con ng-if invece il controllo viene fatto soltanto durante il rendering del DOM, dopodichè scompare.
Ripeto non ne sono sicuro al 100%, diciamo al 90%!