Performance del Response.Write. 3 Métodos y sus diferencias
Lo que haremos a continuación es comparar la velocidad del Response.Write.
Probablemente "todos" o al menos una gran parte de uds. se sorprenderán con esta nota. Tal vez los que conocen ASP desde hace tiempo
sean a los que mas le llame la atención
Yo mismo he leido en muchos sitios que alternar el ASP con el HTML era algo que "no se debia hacer". El motivo de esto
era una propiedad oculta llamada Response.WriteBlock. Y cada vez que se cerraba el ASP, internamente habia una llamada
a WriteBlock y es por este motivo por el cual no era conveniente abrir y cerrar ASP.
A partir de la última version de ASP (que fue hace tiempo por cierto), las cosas cambiaron con respecto a este
tema en particular. Veremos que lo mejor de todo es abrir y cerrar el ASP para escribir por pantalla.
A continuación está el codigo para hacer la prueba y que cada uno de uds se convenza de que lo que estoy diciendo aqui
es ahora de este modo. Pueden copiarlo, pegarlo y ejecutarlo y ver como se comporta en su máquina.
Definitivamente es mas rápido abrir y cerrar ASP que hacer un Response.Write
<%
'MODO 1
tiempoinicio = Timer
For i = 1 To 800000
%>*<%
Next
tiempototal = FormatNumber(Timer - tiempoinicio, 3, True)
Response.Write "<br>MODO 1: " & tiempototal & "<br>"
'MODO 2
tiempoinicio = Timer
For i = 1 To 800000
Response.Write "*"
Next
tiempototal = FormatNumber(Timer - tiempoinicio, 3, True)
Response.Write "<br>MODO 2: " & tiempototal & "<br>"
'MODO 3
tiempoinicio = Timer
With Response
For i = 1 To 800000
.Write "*"
Next
End With
tiempototal = FormatNumber(Timer - tiempoinicio, 3, True)
Response.Write "<br>MODO 3: " & tiempototal & "<br>"
%>
|
Resultados (en mi máquina):
MODO 1: 0,266
MODO 2: 0,391
MODO 3: 1,875
Como se puede ver en el código...
- MODO 1: es el que abre y cierra ASP para escribir en pantalla (de este modo no se llama a Response.Write)
mirar el código detalladamente y verán que se hace %> * <% para imprimir el caracter.
- MODO 2 usa Response.Write
- MODO 3 usa With para "apuntar al objeto" y luego llama a Write (deberia ser el mas rápido de los 3)
Fuente de información: www.4guysfromrolla.com
|