Ci sono tanti modi di scrivere codice, ma ce n'è sempre uno più performante di un altro.
Non è raro utilizzare uno script come il seguente (con le dovute modifiche) che costruisce una variabile all'interno di un ciclo:
<% for i = 1 to 1000 strHTML = strHTML & " " & i next Response.write strHTML %>
Un approccio più performante consiste nell'usare direttamente Response.Write, inviando subito in output quanto prodotto.
Eccone un esempio:
<% for i = 1 to 1000 Response.Write " " & i next %>
Il perchè di un comportamento del genere, è spiegato in questo articolo della KB di Microsoft:
http://support.microsoft.com/support/kb/articles/Q170/9/64.ASP
In breve, questa differenza sostanziale di performance (provate a misurare l'esecuzione di entrambi gli script) è dovuta alla gestione delle variabili di VBScript ed all'allocazione della memoria.
Infatti, VBScript allocherà dapprima una porzione di memoria per salvare una copia temporanea della nuova variabile, aggiungerà il valore, quindi la vecchia copia, deallocherà la memoria occupata dalla vecchia copia, allocherà una nuova porzione di memoria, copierà il risultato dell'elaborazione in questo nuovo spazio e quindi deallocherà la memoria utilizzata dalla copia temporanea.
Davvero un giro inutile che si può agevolmente risparmiare.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Migliorare la scalabilità delle Azure Function con il Flex Consumption
- Accettare un tipo nativo nel body di una richiesta a ASP.NET Web API
- Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
- Chiamare direttamente un numero di telefono con HTML5
- Utilizzare la direttiva ngIf di Angular per renderizzare o meno template HTML