Optimering

ASP

18 svar · 271 visningar · startad av kristoffer

Medlem sedan juni 20001 257 inlägg
Trådstart#1

I en intressant artikel på http://www.learnasp.com/learn/speedtablesall.asp står det att &-operatorn är dålig i prestandaavseende. Vad skall man använda istället? I Datormagazin stod ju att &-operatorn var det "absolut bästa sättet att skicka data till klienten ur prestandasynpunkt".

Medlem sedan dec. 19998 577 inlägg
#2

Det är inte själva operatorn som är prestandakrävande, utan sättet man använder den... när man sätter ihop stränga dynamiskt så tar det mer prestanda än om man skall skriva ut det direkt (i en loop).

Medlem sedan juni 20001 257 inlägg
#3

Skall man använda Response.Flush() då?

Medlem sedan dec. 19998 577 inlägg
#4

Nä, det har inte med saken att göra, det du skall unvika är att lägga allt i en variabel som du sedan skriver ut efter loopen, stället för att direkt i loopen skriva ut resultat.

.flush använder du om du vill skicka text till klienten vid händelse av att du har .buffer = true, utan att behöva vänta till sidan är färdigprocesserad.

Medlem sedan aug. 20003 575 inlägg
#5

Hmmm, de menar alltså att koden exeveras snabbare om man gör så här

For i = 1 to 20
Response.Write i&"<Br>"
Next

Än om man skriver

For i = 1 to 20
sOutput = sOutput&i&"<Br>"
Next
Response.Write sOutput

Trodde det var det andra alternativet som gällde men man lär så länge man lever. =)

Medlem sedan dec. 19998 577 inlägg
#6

Precis, vi hade ett liknande test för några veckor sedan: http://cgi.webforum.nu/wf/Forum11/HTML/004558.html

Medlem sedan feb. 20012 412 inlägg
#7

Är det inte inline ASP som är boven i dramat? DVS när man växlar mellan HTML och ASP kod hela tiden. Är väl isåfall bättre att skriva ut det i ett block med response.write och använda '"& variabel &"' än skriva ut <%=RS("variabel")%> i varje tabellcell tex.

mvh jörgen

Medlem sedan dec. 19998 577 inlägg
#8

Har för mig att vi kom fram till att det inte var så stor skillnad med inline ASP.

Det absolut snabbaste är att köra Response.Write i loopen, sedan kommer att skriva blandat ASP och HTML, absolut segast är att lägga allt i en variabel som du sedan skriver ut längre ned på sidan...

Medlem sedan jan. 2001510 inlägg
#9

Det är väl ganska självklart eftersom du då får kopiera allt data du hämtat till ytterligare ett ställe. :)

/JANspeed (besservisser) :)

Medlem sedan dec. 19998 577 inlägg
#10

Jo, självklart är att det tar kraft, frågan var/blev hur det var i korrelation till att använda inline ASP.

Medlem sedan aug. 20003 575 inlägg
#11

Är detta det snabbaste sättet annars?

 sOutput = "Kod fortfarande kod"
lite loopar och sådant
sOutput = sOutput&"en massa mer kod"
lite mer loopar

Response.Write sOutput

eller är detta snabbare:

Response.Write "Lite text å sådant"
lite loopar
Response.Write "lite text igen"
lite kod

??

Medlem sedan dec. 19998 577 inlägg
#12

Det senare är snabbast. Kanske inte alltid det mest praktiska dock.

Medlem sedan aug. 20003 575 inlägg
#13

Om man gör så här???

Response.Write "en massa text"&_
"en massa mer text"

eller om man gör såhär

Response.Write "en massa text"
Response.Write "en massa mer text"

eller Response.Write "en massa text en massa mer text"

i vilken ordning kommer dessa då?

Medlem sedan dec. 19998 577 inlägg
#14

Borde väl bli 3, 1 och 2... :)

Medlem sedan juni 200032 967 inlägg
#15

enig.

f.ö. tycker jag det är trevligt att folk bryr sig om att det funkar bra, inte bara att det funkar.

Medlem sedan mars 20002 836 inlägg
#16

OT:
@nders ... vad menar du med det? ...

cya,
PatrikB .... efter .... en dag på stranden.

Medlem sedan juni 200032 967 inlägg
#17

det är ofta man råkar på folk som bara vill att det ska fungera. om det görs bra eller dåligt, rätt eller fel, verkar kvitta.

därför är det roligt med folk som vill göra på bästa sätt.

patrik, vill du att man ska göra allt så dåligt som möjligt? ;)

Medlem sedan aug. 20003 575 inlägg
#18

Tackar för informationen...
får ändra lite på mitt programmerings sätt nu då =)

Håller med @nders

Medlem sedan mars 20002 836 inlägg
#19

He, he @nders ... självklart ska vi göra det så bra som möjligt + lite till :p .

Hade nog solsting när jag läste inläggen.

Just nu har vi 30 grader i skuggan och man flyyyyyter bort.

Nä, nu är det "beachen" som gäller

cya,
PatrikB

251 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)