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
- Evitare l'embedding di file resx per la localizzazione in ASP.NET
- Utilizzare l'espressione if inline in una pipeline di Azure DevOps
- Mono 2.4.2 con ASP.NET MVC e MonoTouch per iPhone
- Disponibili la Release Preview di Windows 8 e la Release Candidate di Visual Studio 2012
- Microsoft svela i dettagli dello store di Windows 8
- Ed ora, anche Windows .NET Server Developer Resource
- VS 2005 e SQL Server 2005 Express da scaricare
- Nuova CTP di VS 2005 a Novembre
- Blazor <3 Javascript