bene..
una discussione seria (non che nessuno sia escluso intendo... però vorrei giungere a delle conclusioni chiare e concise)

PREGO TUTTI DI RISPONDERE SOLO !!!DOPO!!! AVER LETTO TUTTO IL POST

--------------------------------------------------
--------------------------------------------------

DEFINIZIONI:
(così non scrivo 10 righe ogni volta che li nomino
non sono vere definizioni rigorose, anzi, ma mi servono per essere più chiaro in quello che segue)

--------------------------------------------------

buffertrue
la pagina viene inviata al client solo quando è stata terminata l'elaborazione

--------------------------------------------------

bufferfalse
la pagina viene inviata al client man mano che l'elaborazione va avanti...

--------------------------------------------------

spaghettistyle
stampare HTML e OUTPUT asp mischiandolo

esempio di una pagina completa:
codice:
<% response.write "io " %>
sono
<% response.write " simone" %>
risultato html:
codice:
io sono simone
--------------------------------------------------

writestyle
stampare solo OUTPUT asp usando in pratica un unico tag <% %>

esempio di una pagina completa:
codice:
<% response.write "io sono simone" %>
risultato html:
codice:
io sono simone
---------------------------------------------------
---------------------------------------------------

LA QUESTIONE:

siccome mi sto addentrando nel magico mondo dell'ottimizzazione ho cercato di capire (spinto dall'utilizzo della classe CSTRINGBUILDER di baol) come fare a migliorare la velocità per l'output.

ciò che sto sviluppando è la nuova versione del mio forum (che finalmente sarà pubblica).

la mia idea iniziale era quella di non lavorare spaghettistyle (vedi definizioni) ma di lavorare tutto writestyle

il motivo è che ho notato che ad esempio lo snitz lo fa, e così ad occhio mi sembra una via migliore

il fatto che il parser ASP non si trovi di mezzo pezzi di html mischiati a tag asp mi sembra che possa dare prestazioni migliori

così mi sono deciso e ho fatto alcuni test

---------------------------------------------------
---------------------------------------------------

I TEST:

2 pagine
4 test

pagina 1 [writestyle + bufferfalse o buffertrue]
codice:
<%@ Language=VBScript %>
<%
option explicit

response.buffer = true 'oppure FALSE per il secondo test

dim i,StartTime,EndTime,TimeIt

StartTime = timer

for i=0 to 100000
	response.write "aaa
"
	response.write "bbb
"
next
EndTime = timer
TimeIt = EndTime - StartTime
response.write TimeIt

%>

pagina 2 [spaghettistyle + bufferfalse o buffertrue]
codice:
<%@ Language=VBScript %>
<%
option explicit

response.buffer = true 'oppure FALSE per il secondo test

dim i,StartTime,EndTime,TimeIt

StartTime = timer

for i=0 to 100000
	%>aaa
<%
	response.write "bbb
"
next
EndTime = timer
TimeIt = EndTime - StartTime
response.write TimeIt
%>
---------------------------------------------------

la prima pagina è lo stile STAMPO TUTTO L'HTML METTENDOLO DENTRO A DELLE STRINGHE ( "<html><head>....." ) e infilandoci ogni tanto in mezzo qualche variabile ASP (altrimenti che uso a fare asp :P)

la seconda pagina è lo stile STAMPO LE VARIABILI ASP CON RESPONSE.WRITE e l'html fisso lo lascio fuori dai TAG ASP

fin qui tutto chiaro? spero di si...

--------------------------------------------------

come seconda cosa mi sono chiesto se ha più senso impostare (dal punto di vista di prestazioni, perchè il motivo per cui a volte si usa il respose.buffer = false è chiaro a tutti [dare all'utente l'ouput mentre è generato... in alcuni casi è utile]) il buffer a true o false..

quindi le due pagine le ho avviate in due modi
col buffer = false e col buffer = true

bene


--------------------------------------------------
--------------------------------------------------

I RISULTATI DEI TEST:

PAGINA1 / BUFFERTRUE (writestyle)
0,1875 sec

PAGINA1 / BUFFERFALSE (writestyle)
62,26563 sec (non è uno scherzo!)

PAGINA2 / BUFFERTRUE (spaghettistyle)
0,109375 sec

PAGINA2 / BUFFERFALSE (spaghettistyle)
54,32813 sec


le dimensioni di tutti gli output sono esattamente
1.400.061 byte
ovvero circa 1,4 MB


differenza bufferfalse pagina1 - pagina2
7,9375 sec

differenza buffertrue pagina1 - pagina2
0,078125

--------------------------------------------------
--------------------------------------------------

CONCLUSIONE E DOMANDA:

avrei previsto che la soluzione più veloce sarebbe stata senza dubbio WRITESTYLE + BUFFERFALSE

invece la classifica delle più veloci è
1. SPAGHETTISYLE + BUFFERTRUE
2. WRITESTYLE + BUFFERTRUE
3. SPAGHETTISYLE + BUFFERFALSE
4. WRITESTYLE + BUFFERFALSE

ottimo. ho scelto proprio la soluzione più lenta.

dai test risulta che la soluzione più performante è senza dubbio la spaghettistyle con buffertrue

l'avreste detto?
considerazioni?
è un test mal posto?