El desempeño de vista o SP va a ser relativo a lo que hace uno u otro.
Lo que debe analizarse es:
a) Cual de los dos logra reducir el tráfico de red (o sea, reduce los datos hacia el cliente)
b) Cual logra que el Servidor resuelva el plan de acceso a datos.
c) Cual logra reaprovechar los datos recuperados y que quedan en buffer del SGBD
d) Cual logra recuperar los datos con menos carga sobre el servidor.
Porque:
a) En definitiva, siempre el cuello de botella es la transmisión, por supuesto que ambos, en definitiva devolverían la misma cantidad de datos (para un mismo requerimiento), pero habría que ver requiere la vista o el SP para ser invocados.
b) Cuando se crea una vista, el servidor resuelve el plan de acceso a los datos, este proceso puede llevar más o menos tiempo, pero que siempre es significativo a niveles de consultas cortas/simples. Que son las mas comunes. Atención, el tiempo de resolución del plan de acceso depende mucho de la existencia o no de indices, por eso se recomiendan índices sobre las claves foráneas, sobre los campos que se usan para filtros, etc.
c) Los SGBD, ante un requerimiento de datos, cargan en memoria todos los datos posibles, y dejan en memoria los set de registros accedidos. Si una vista se usa en forma recurrente, es probable que las segundas peticiones a las mismas, ya tengan los datos disponibles, por lo que se mejora el acceso. Por eso, entre otras cosas M$ restringe la cantidad de memoria del SQL Server Express, para que ante requerimientos pesados, el limite de 1GB (creo) de uso de RAM, haga que independientemente del tamaño de la BD (que en todo caso podes fraccionar), llegue un momento que te veas forzado a migrar a las versiones pagas, porque te mata el mal desempeño.
d) Y por supuesto, si el servidor que gestiona al SGBD es muy "polenta", conviene transferir la carga de cálculo a él, pero si no, puedes transferir la carga al cliente (sobre todo si con eso no afectas a).
En definitiva, el uso de SP o vistas estará supeditado a los casos específicos de requerimiento de datos (frecuencia y modo de uso, datos estáticos o dinámicos). En cada caso, deberá sopesarse que conviene. E indiscutiblemente, no sería raro que convenga el uso combinado de ambos.
Y un factor extra para desarrolladores, si se transfiere lógica al SP, la aplicación empieza a ser SGBD dependiente (no es fácil luego migrar un SP de un SGBD a otro), lo que no es malo, si a su vez se quiere tener libertad en la elección de la herramienta en el cliente.
Para PHPeros y Pythoneros, por ejemplo, meter lógica en el SP, permite de alguna manera tener el código más protegido que tenerlo en el código normal, porque al SP, se le compila y se le puede borrar el fuente (en algunos SGBD), y el código solo es accesible a los administradores del la bd, no a cualquiera que acceda al disco.
Cada cual, en cada caso, deberá sopesar que es conveniente (o le es conveniente) aplicar.