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
- I tutorials, percorsi guidati per tutti
- Costruire applicazioni cross-plaftorm con Visual Studio 2013 e Xamarin
- Creare semplici grafici a barre con ASP
- rilasciato #mono 2.8.1: bug fix importanti, anche di security: http://u.aspitalia.com/o5
- Mappare una relazione uno a molti con Entity Framework Code First
- Dichiarare tutte le proprietà di un record usando solo il costruttore in C#
- Gestire la cancellazione di una richiesta in streaming da Blazor
- Fragment Caching con dipendenza da altri controls
- grazie a tutti per aver seguito #aspilive! tutto il materiale è già online e le registrazioni saranno pubblicate nei prossimi giorni su => https://aspit.co/BlazorConf-20
- Modificare i metadati nell'head dell'HTML di una Blazor Web App